I have modified the HttpSoapInOutBinding component to set an empty
SOAPAction header.
Cheers,
Guillaume Nodet
[EMAIL PROTECTED] wrote:
Guillaume,
Good news - the data being returned from the SaajComponent looks correct
now; the "d" namespace is included.
But...and there's always a but...I am seeing another issue with the
HttpSoapConnector. On the return, the following exception is being thrown by
the client:
Exception in thread "main" com.idoox.soap.VersionMismatchException: Unable
to read server response. Server returned status code: 200 (OK)
(Content-type:text/xml; charset=UTF-8) Incoming message is not SOAP 1.1 nor
SOAP 1.2
at
com.systinet.wasp.soap.MessageSourceImpl.init(MessageSourceImpl.java:203)
at
com.systinet.wasp.soap.MessageSourceFactoryImpl.getMessageSource(MessageSour
ceFactoryImpl.java:36)
at
com.systinet.wasp.client.XMLInvocationHelperImpl._receive(XMLInvocationHelpe
rImpl.java:664)
at
com.systinet.wasp.client.XMLInvocationHelperImpl._receive(XMLInvocationHelpe
rImpl.java:617)
at
com.systinet.wasp.client.XMLInvocationHelperImpl._call(XMLInvocationHelperIm
pl.java:145)
at
com.systinet.wasp.client.XMLInvocationHelperImpl.call(XMLInvocationHelperImp
l.java:77)
at
org.systinet.wasp.client.XMLInvocationHelper.call(XMLInvocationHelper.java:1
8)
at com.systinet.wasp.rpc.WaspCallImpl.invoke(WaspCallImpl.java:492)
at com.systinet.wasp.rpc.WaspCallImpl.invoke(WaspCallImpl.java:450)
at com.systinet.wasp.client.ClientProxy._invoke(ClientProxy.java:456)
at com.systinet.wasp.client.ClientProxy.invoke(ClientProxy.java:109)
at $Proxy63.getPerson(Unknown Source)
at com.cexp.ws.testclient.TestClient.main(TestClient.java:40)
This looked suspicious, so I looked at the Http response traffic for the bus
(HttpSoapConnector -> SaajConnector) mediated call:
HTTP/1.1 200 OK
Date: Wed, 21 Dec 2005 00:40:27 GMT
Server: Jetty/5.1.6 (Linux/2.4.21-37.ELsmp i386 java/1.5.0_05
Connection: close
Content-Type: text/xml; charset=UTF-8
<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body><wn2:getPersonResponse
xmlns:wn2="http://systinet.com/wsdl/com/cexp/ws/test/"
xmlns="http://www.w3.org/2000/xmlns/" xmlns="http://www.w3.org/2000/xmlns/"
xmlns="http://www.w3.org/2000/xmlns/" xmlns="http://www.w3.org/2000/xmlns/"
xmlns="http://www.w3.org/2000/xmlns/"
xmlns:d="http://www.w3.org/2001/XMLSchema"
xmlns:e="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wn0="http://idoox.com/interface"
xmlns:wn1="http://systinet.com/soap-jta/"
xmlns:wn2="http://systinet.com/wsdl/com/cexp/ws/test/">
<wn2:response xmlns:wn2="http://systinet.com/wsdl/com/cexp/ws/test/"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance" i:type="wn2:Person">
<wn2:description
xmlns:wn2="http://systinet.com/wsdl/com/cexp/ws/test/"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
i:type="d:string">Desktop customizer (1135125628107)</wn2:description>
<wn2:firstName
xmlns:wn2="http://systinet.com/wsdl/com/cexp/ws/test/"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
i:type="d:string">Jonathan</wn2:firstName>
<wn2:lastName xmlns:wn2="http://systinet.com/wsdl/com/cexp/ws/test/"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
i:type="d:string">Edwards</wn2:lastName>
</wn2:response>
</wn2:getPersonResponse>
</soap:Body>
</soap:Envelope>
Sure enough, there is no SOAPAction. The Http response traffic from the
direct web service call looks like this:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.0.3SP1 (build: CVSTag=JBoss_4_0_3_SP1
date=200510231054)/Tomcat-5.5
Server: Systinet Server for Java/6.0 (Java/1.5.0_05; Linux/2.4.21-37.ELsmp;
build SSJ-6.0-20050817-0016)
SOAPAction: ""
X-WASP-Message-ID: 14e-KvQaIwFQW/q/c5IV2rT9bA==
Content-Type: text/xml;charset=UTF-8
Date: Wed, 21 Dec 2005 00:55:51 GMT
Connection: close
<?xml version="1.0" encoding="UTF-8"?>
<e:Envelope xmlns:e="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:d="http://www.w3.org/2001/XMLSchema"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wn0="http://idoox.com/interface"
xmlns:wn1="http://systinet.com/soap-jta/"
xmlns:wn2="http://systinet.com/wsdl/com/cexp/ws/test/">
<e:Body>
<wn2:getPersonResponse>
<wn2:response i:type="wn2:Person">
<wn2:description i:type="d:string">Desktop customizer
(1135126551853)</wn2:description>
<wn2:firstName i:type="d:string">Jonathan</wn2:firstName>
<wn2:lastName i:type="d:string">Edwards</wn2:lastName>
</wn2:response>
</wn2:getPersonResponse>
</e:Body>
</e:Envelope>
I think that we are almost there. The issue would now seem to be with the
HttpSoapConnector or the HttpSoapInOutBinding. I think that the only
modification needs to be altering this component to set the HttpResponse
header item SOAPAction="".
Please let me know your thoughts.
/jonathan