You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by John Hawkins <HA...@uk.ibm.com> on 2005/12/08 10:55:36 UTC

Fw: SOAP With C++ ( Printing the message before sending )

Folks,

someone with an rpc problem. Anyone able to help?



Has tried two clients one simpler than the other. The more complex one 
fails on the server-side with the message ->
org.xml.sax.SAXException: Bad types (class 
com.gs.eq.sl.ws.locate.vo.LocateBatchRequest -> class 
com.gs.eq.sl.ws.locate.vo.LocateRequest) 
at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:311) 




----- Forwarded by John Hawkins/UK/IBM on 08/12/2005 09:46 -----

"Hossain, Shopon" <Sh...@gs.com> 
07/12/2005 17:08

To
John Hawkins/UK/IBM@IBMGB
cc

Subject
RE: SOAP With C++ ( Printing the message before sending )






Here they are.
 
Thanks...
-Shopon

From: John Hawkins [mailto:HAWKINSJ@uk.ibm.com] 
Sent: Wednesday, December 07, 2005 11:51 AM
To: Hossain, Shopon
Subject: RE: SOAP With C++ ( Printing the message before sending )


can you please capture the request and response going over the wire 
please. I don't see them in the files. 




"Hossain, Shopon" <Sh...@gs.com> 
07/12/2005 15:11 


To
John Hawkins/UK/IBM@IBMGB 
cc

Subject
RE: SOAP With C++ ( Printing the message before sending )








Thanks for your help. 
Working Fine: I have this application (including in the mail) that returns 
just an 'int' value, running for last 1 year without any issue. 
Not Working:  Trying to get an 'object' instead of just an 'int' 
  
Both uses the same WSDL file. 
 
  
Thanks. 
-Shopon 
212 357 1218 
 
 
 
 

From: John Hawkins [mailto:HAWKINSJ@uk.ibm.com] 
Sent: Tuesday, December 06, 2005 1:19 PM
To: Hossain, Shopon
Subject: RE: SOAP With C++ ( Printing the message before sending )


Have you tried this with a Java client ? 

Can you attach the wsdl and the complete request (inc http headers?) 


"Hossain, Shopon" <Sh...@gs.com> 
06/12/2005 17:43 


To
John Hawkins/UK/IBM@IBMGB 
cc

Subject
RE: SOAP With C++ ( Printing the message before sending )










John, 
     Working fine: client which connects to server and gets an int value 
as return. 
   
     Error:    Sending a complex object which generates the following xml 
and expect an object back from server: 
<ns1:autoLocate xmlns:ns1="
http://nyslqsa01.ny.eq.gs.com:1464/StockLoan/services/locate/InternalClient
"> 
<LocateBatchRequest xsi:type="ns2:LocateBatchRequest" 
xmlns:ns2="urn:InternalClient" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"> 
<acceptPartialLocatesFlag 
xsi:type="xsd:boolean">true</acceptPartialLocatesFlag> 
<callerName xsi:type="xsd:string">Shopon</callerName> 
<locateRequestArrayArray enc:arrayType="ns2:locateRequestArray[1]" 
xmlns:enc="http://www.w3.org/2001/06/soap-encoding" 
xmlns:ns2="urn:InternalClient"> 
<LocateRequest> 
<requestedQty xsi:type="xsd:int">900</requestedQty> 
<sourceSystemId xsi:type="xsd:string">sysid1234</sourceSystemId> 
<synonym xsi:type="xsd:string">MSFT</synonym> 
</LocateRequest> 
</locateRequestArrayArray> 
<repId xsi:type="xsd:int">123456</repId> 
<requestType xsi:type="xsd:int">9</requestType> 
<researchFlag xsi:type="xsd:boolean">true</researchFlag> 
<trader xsi:type="xsd:string">ryvkip</trader> 
</LocateBatchRequest> 
</ns1:autoLocate> 
  ERROR INFO: The server throws the following exception upon receive the 
message above: 
org.xml.sax.SAXException: Bad types (class 
com.gs.eq.sl.ws.locate.vo.LocateBatchRequest -> class 
com.gs.eq.sl.ws.locate.vo.LocateRequest) 
at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:311) 
at 
org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:963) 

at 
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:198) 

at 
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:722) 

at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:233) 
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:347) 
at 
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:184) 

at 
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:333) 
at 
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71) 

at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150) 
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120) 
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:481) 
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323) 
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854) 

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) 
at 
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339) 

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) 

at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) 

at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) 

at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) 

at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) 

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) 
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190) 

at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) 

at 
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) 

at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) 

at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) 

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) 
at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347) 

at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) 

at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) 

at 
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) 

at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) 

at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) 

at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) 

at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468) 
at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) 

at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) 

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) 
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) 

at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) 

at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) 

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) 
at 
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027) 

at 
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125) 

at java.lang.Thread.run(Thread.java:534) 
Please help! 
Thanks. 
-Shopon 
From: John Hawkins [mailto:HAWKINSJ@uk.ibm.com] 
Sent: Tuesday, December 06, 2005 12:25 PM
To: Hossain, Shopon
Subject: RE: SOAP With C++ ( Printing the message before sending )


Hi, 
In the interests of fairness - please can you continue this conversation 
over the mailing list -> axis-c-dev@ws.apache.org 

thankyou 


"Hossain, Shopon" <Sh...@gs.com> 
06/12/2005 17:04 


To
John Hawkins/UK/IBM@IBMGB 
cc

Subject
RE: SOAP With C++ ( Printing the message before sending )












John, 
 I would like to ask you a couple of questions regarding the SOAP with 
C++.  I was wondering if I could have your contact number. 

Thanks. 
-Shopon 

From: John Hawkins [mailto:HAWKINSJ@uk.ibm.com] 
Sent: Tuesday, December 06, 2005 6:49 AM
To: Hossain, Shopon
Subject: RE: SOAP With C++ ( Printing the message before sending )


listen port = $port 

target hostname =$serverip 
target port = $port 
"Hossain, Shopon" <Sh...@gs.com> 
05/12/2005 20:49 


To
John Hawkins/UK/IBM@IBMGB 
cc

Subject
RE: SOAP With C++ ( Printing the message before sending )














John, 
   My client from host $clientip is connection to $serverip:$port 
   What would be the following Admin screen values? 
              Listen Port # : 
              Listener: 
                  Target Hostname: 
                   Target Port #: 

                 

I am confused about the ListenPort value. 
When I have Listen and Targer port as $port; and Target Hostname as 
$serverip, it says 'Waiting for connection' and when i connect to the 
$targetid, nothing shows up on the TCPMonitor screen. 

Any Idea? 

Thanks. 
-Shopon 



From: John Hawkins [mailto:HAWKINSJ@uk.ibm.com] 
Sent: Monday, December 05, 2005 2:28 PM
To: Hossain, Shopon
Subject: RE: SOAP With C++ ( Printing the message before sending )


You run it as a seperate progam. You can get it in axis.jar 
here's the instructions -> 
http://ws.apache.org/axis/java/user-guide.html#AppendixUsingTheAxisTCPMonitorTcpmon 

"Hossain, Shopon" <Sh...@gs.com> 
05/12/2005 18:38 


To
John Hawkins/UK/IBM@IBMGB 
cc

Subject
RE: SOAP With C++ ( Printing the message before sending )
















Do I have to run it independently? If so, can I run it on different host? 
Where can download it from? 

Thanks... 


From: John Hawkins [mailto:HAWKINSJ@uk.ibm.com] 
Sent: Monday, December 05, 2005 1:25 PM
To: Hossain, Shopon
Cc: Andrew Perry2; Fred Preston; Mark Whitlock; 'rinzad@opensource.lk'; 
'sharanka@opensource.lk'
Subject: Re: SOAP With C++ ( Printing the message before sending )


hello Shopon, 

You can use tcpmon which is a tool from axis java. It intercepts the http 
message on the wire. 

regards, 
John. 
"Hossain, Shopon" <Sh...@gs.com> 
05/12/2005 15:11 


To
Mark Whitlock/UK/IBM@IBMGB, "'rinzad@opensource.lk'" 
<ri...@opensource.lk>, "'sharanka@opensource.lk'" 
<sh...@opensource.lk>, Fred Preston/UK/IBM@IBMGB, Andrew 
Perry2/UK/IBM@IBMGB, John Hawkins/UK/IBM@IBMGB 
cc

Subject
SOAP With C++ ( Printing the message before sending )


















Hi I would like to print out the xml message to a log file before I send 
to the server.  Please let me know how can I do so. Thanks. 
-Shopon