Hi All,
We are using XFire to invoke webservices. We were using Jboss AS 4.0.5 earlier to deploy our webservices. This combination was working fine.
Now we have upgraded to JBossEAP 4.3.0. When we generate webservice clients via XFire to test webservices deployed on EAP, the parameters passed are null.
If we generate clients from wsconsume (Jboss utility), it works fine. It works well with .NET clients as well.
I am wondering what has changed in EAP which is not interpreting XFire request correctly.
Following are the SOAP messages from various clients, all work well in JBoss AS 4.0.4 but on EAP with XFire, parameters become null.
<=====================Jboss Client====================>
|
| <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
| <env:Header/>
| <env:Body>
| <ns1:callwebsvcService xmlns:ns1='http://ws.websvc.services.abhishek.com/standard/head/websvctest'>
| <token>myvalue</token>
| <holdingId>101</holdingId>
| </ns1:callwebsvcService>
| </env:Body>
| </env:Envelope>
|
<=====================.NET Client====================>
|
| <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>
| <callwebsvcService xmlns='http://ws.websvc.services.abhishek.com/standard/head/websvctest'>
| <token xmlns=''>test</token>
| <holdingId xmlns=''>1</holdingId>
| </callwebsvcService>
| </soap:Body>
| </soap:Envelope>
|
<=====================XFIRE Client===================>
|
| <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>
| <ns1:callwebsvcService xmlns:ns1='http://ws.websvc.services.abhishek.com/standard/head/websvctest'>
| <ns1:token>XFire</ns1:token>
| <ns1:holdingId>123</ns1:holdingId>
| </ns1:callwebsvcService>
| </soap:Body>
| </soap:Envelope>
|
<====================================================>
Following is the wsdl contents
| <?xml version="1.0" encoding="UTF-8"?>
| <definitions name="websvcCallService" targetNamespace="http://ws.websvc.services.abhishek.com/standard/head/websvctest"
| xmlns:tns="http://ws.websvc.services.abhishek.com/standard/head/websvctest" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
| xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
| <types>
| <xs:schema targetNamespace="http://ws.websvc.services.abhishek.com/standard/head/websvctest" version="1.0"
| xmlns:tns="http://ws.websvc.services.abhishek.com/standard/head/websvctest" xmlns:xs="http://www.w3.org/2001/XMLSchema">
| <xs:element name="callwebsvcService" type="tns:callwebsvcService"/>
| <xs:element name="callwebsvcServiceResponse" type="tns:callwebsvcServiceResponse"/>
| <xs:complexType name="callwebsvcService">
| <xs:sequence>
| <xs:element minOccurs="0" name="token" type="xs:string"/>
| <xs:element name="holdingId" type="xs:int"/>
| </xs:sequence>
| </xs:complexType>
| <xs:complexType name="callwebsvcServiceResponse">
| <xs:sequence>
| <xs:element minOccurs="0" name="callwebsvcServiceResponse" type="xs:string"/>
| </xs:sequence>
| </xs:complexType>
| </xs:schema>
| </types>
| <message name="websvcCallService_callwebsvcService">
| <part name="callwebsvcService" element="tns:callwebsvcService">
| </part>
| </message>
| <message name="websvcCallService_callwebsvcServiceResponse">
| <part name="callwebsvcServiceResponse" element="tns:callwebsvcServiceResponse">
| </part>
| </message>
| <portType name="websvcCallService">
| <operation name="callwebsvcService" parameterOrder="callwebsvcService">
| <input message="tns:websvcCallService_callwebsvcService">
| </input>
| <output message="tns:websvcCallService_callwebsvcServiceResponse">
| </output>
| </operation>
| </portType>
| <binding name="websvcCallServiceBinding" type="tns:websvcCallService">
| <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
| <operation name="callwebsvcService">
| <soap:operation soapAction=""/>
| <input>
| <soap:body use="literal"/>
| </input>
| <output>
| <soap:body use="literal"/>
| </output>
| </operation>
| </binding>
| <service name="websvcCallService">
| <port name="websvcCallServicePort" binding="tns:websvcCallServiceBinding">
| <soap:address location="http://127.0.0.1:8080/ws/websvcCallService"/>
| </port>
| </service>
| </definitions>
|
<====================================================>
XFire uses namespace with the attribute which is correct, why does EAP fails to parse these values.
Any Help on this matter is highly appreciated.
Regards,
Abhishek
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4190027#4190027
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4190027
I have a similiar problem. I can call a ws via https using stand alone project just fine. Run same code in jboss container, get error
Can not connect http client invoker. Invalid HTTP server response [403] - Service Error. Response: Service Error/403
Side note: to get around the multiple keystores, you can use this approach
HttpsURLConnection.setDefaultSSLSocketFactory(sslSocketFactory);
you'll find a bunch of posts on it. i can provide more detail if needed.
if you find solution to 403 problem, please post it.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4189942#4189942
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4189942