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