ok.. this is another one of these problems, i've tried everything in other 
posts without success... maybe someone has some advice;

I have created a -nodatabinding client with wscompile and want to use it to 
invoke its corresponding web service. I can invoke the webservice from my ejb 
(i've created all the webservices.xml and service-ref entries) and the correct 
deserializer is being used when sending the request, but jbossws fails to find 
the serializer for the response;


  | org.xml.sax.SAXException: Deserializing parameter 
'publishPDLUpdateResponse':  could not find deserializer for type 
{urn:schema:v1:publishpdlupdate:integrations:bis.bonnier.se}PublishPDLUpdateResponse
  |     at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:325)
  | 

wscompile generated the following jaxrpc-mapping-file; 


  | <?xml version="1.0" encoding="UTF-8"?>
  | <java-wsdl-mapping xmlns="http://java.sun.com/xml/ns/j2ee"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; version="1.1" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    
http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd";>
  |   <package-mapping>
  |     
<package-type>se.bonnier.bis.integrations.publishpdlupdate.v1</package-type>
  |     
<namespaceURI>urn:v1:publishpdlupdate:integrations:bis.bonnier.se</namespaceURI>
  |   </package-mapping>
  |   <package-mapping>
  |     <package-type>javax.xml.soap</package-type>
  |     
<namespaceURI>urn:schema:v1:publishpdlupdate:integrations:bis.bonnier.se</namespaceURI>
  |   </package-mapping>
  |   <exception-mapping>
  |     
<exception-type>se.bonnier.bis.integrations.publishpdlupdate.v1.PublishPDLUpdateFaultMessage</exception-type>
  |     <wsdl-message 
xmlns:exMsgNS="urn:v1:publishpdlupdate:integrations:bis.bonnier.se">exMsgNS:PublishPDLUpdateFaultMessage</wsdl-message>
  |   </exception-mapping>
  |   <service-interface-mapping>
  |     
<service-interface>se.bonnier.bis.integrations.publishpdlupdate.v1.PublishPDLUpdateServiceImpl</service-interface>
  |     <wsdl-service-name 
xmlns:serviceNS="urn:v1:publishpdlupdate:integrations:bis.bonnier.se">serviceNS:PublishPDLUpdateServiceImpl</wsdl-service-name>
  |     <port-mapping>
  |       <port-name>PublishPDLUpdateServicePort</port-name>
  |       <java-port-name>PublishPDLUpdateServicePort</java-port-name>
  |     </port-mapping>
  |   </service-interface-mapping>
  |   <service-endpoint-interface-mapping>
  |     
<service-endpoint-interface>se.bonnier.bis.integrations.publishpdlupdate.v1.PublishPDLUpdateService</service-endpoint-interface>
  |     <wsdl-port-type 
xmlns:portTypeNS="urn:v1:publishpdlupdate:integrations:bis.bonnier.se">portTypeNS:PublishPDLUpdateService</wsdl-port-type>
  |     <wsdl-binding 
xmlns:bindingNS="urn:v1:publishpdlupdate:integrations:bis.bonnier.se">bindingNS:PublishPDLUpdateServiceSoapBinding</wsdl-binding>
  |     <service-endpoint-method-mapping>
  |       <java-method-name>publishPDLUpdate</java-method-name>
  |       <wsdl-operation>publishPDLUpdate</wsdl-operation>
  |       <method-param-parts-mapping>
  |         <param-position>0</param-position>
  |         <param-type>javax.xml.soap.SOAPElement</param-type>
  |         <wsdl-message-mapping>
  |           <wsdl-message 
xmlns:wsdlMsgNS="urn:v1:publishpdlupdate:integrations:bis.bonnier.se">wsdlMsgNS:PublishPDLUpdateInputMessage</wsdl-message>
  |           
<wsdl-message-part-name>publishPDLUpdateRequestPart</wsdl-message-part-name>
  |           <parameter-mode>IN</parameter-mode>
  |         </wsdl-message-mapping>
  |       </method-param-parts-mapping>
  |       <wsdl-return-value-mapping>
  |         
<method-return-value>javax.xml.soap.SOAPElement</method-return-value>
  |         <wsdl-message 
xmlns:wsdlMsgNS="urn:v1:publishpdlupdate:integrations:bis.bonnier.se">wsdlMsgNS:PublishPDLUpdateOutputMessage</wsdl-message>
  |         
<wsdl-message-part-name>publishPDLUpdateResponsePart</wsdl-message-part-name>
  |       </wsdl-return-value-mapping>
  |     </service-endpoint-method-mapping>
  |   </service-endpoint-interface-mapping>
  | </java-wsdl-mapping>
  | 

I've added the typeMappings for SOAPElement -> 
ElementSerializer/DeserializerFactory to ws4ee-deployment.xml;


  | <typeMapping 
xmlns:schema="urn:schema:v1:publishpdlupdate:integrations:bis.bonnier.se" 
  |     deserializer="org.apache.axis.encoding.ser.ElementDeserializerFactory" 
  |     encodingStyle="" 
  |     qname="schema:publishPDLUpdateRequest" 
  |     serializer="org.apache.axis.encoding.ser.ElementSerializerFactory" 
  |     type="java:javax.xml.soap.SOAPElement"/>
  | 
  | <typeMapping 
xmlns:schema="urn:schema:v1:publishpdlupdate:integrations:bis.bonnier.se" 
  |     deserializer="org.apache.axis.encoding.ser.ElementDeserializerFactory" 
  |     encodingStyle="" 
  |     qname="schema:publishPDLUpdateResponse" 
  |     serializer="org.apache.axis.encoding.ser.ElementSerializerFactory" 
  |     type="java:javax.xml.soap.SOAPElement"/>
  | 
  | <typeMapping 
xmlns:schema="urn:schema:v1:publishpdlupdate:integrations:bis.bonnier.se" 
  |     deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" 
  |     encodingStyle="" 
  |     qname="schema:publishPDLUpdateFault" 
  |     serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" 
  |     
type="java:se.bonnier.bis.integrations.publishpdlupdate.v1.PublishPDLUpdateFaultMessage"/>
  | 

The response soap message is the following;

  | <SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";>
  |     <SOAP-ENV:Header/>
  |     <SOAP-ENV:Body>
  |         <ns:publishPDLUpdateResponse 
xmlns:ns="urn:schema:v1:publishpdlupdate:integrations:bis.bonnier.se">
  |                <ns:status>1</ns:status>
  |         </ns:publishPDLUpdateResponse>
  |     </SOAP-ENV:Body>
  | </SOAP-ENV:Envelope>
  | 

The WSDL being used is 

  | <definitions name="PublishPDLUpdateService"
  |     targetNamespace="urn:v1:publishpdlupdate:integrations:bis.bonnier.se"
  |     xmlns="http://schemas.xmlsoap.org/wsdl/";
  |     
xmlns:schema="urn:schema:v1:publishpdlupdate:integrations:bis.bonnier.se"
  |     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
  |     xmlns:tns="urn:v1:publishpdlupdate:integrations:bis.bonnier.se" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
  |     <types>
  |         <xsd:schema>
  |             <xsd:import
  |                 
namespace="urn:schema:v1:publishpdlupdate:integrations:bis.bonnier.se" 
schemaLocation="publishPDLUpdate-SNAPSHOT.xsd"/>
  |         </xsd:schema>
  |     </types>
  |     <message name="PublishPDLUpdateInputMessage">
  |         <part element="schema:publishPDLUpdateRequest" name="requestBody"/>
  |     </message>
  | 
  |     <message name="PublishPDLUpdateOutputMessage">
  |         <part element="schema:publishPDLUpdateResponse" 
name="responseBody"/>
  |     </message>
  |     <message name="PublishPDLUpdateFaultMessage">
  |         <part element="schema:publishPDLUpdateFault" name="faultBody"/>
  |     </message>
  |     <portType name="PublishPDLUpdateService">
  |         <operation name="publishPDLUpdate">
  |             <input message="tns:PublishPDLUpdateInputMessage" 
name="PublishPDLUpdateInput"/>
  | 
  |             <output message="tns:PublishPDLUpdateOutputMessage" 
name="PublishPDLUpdateOutput"/>
  |             <fault message="tns:PublishPDLUpdateFaultMessage" 
name="PublishPDLUpdateFault"/>
  |         </operation>
  |     </portType>
  |     <!-- Generated Binding for operation [PublishPDLUpdateService]-->
  |     <binding name="PublishPDLUpdateServiceSoapBinding" 
type="tns:PublishPDLUpdateService">
  |         <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
  |         <operation name="publishPDLUpdate">
  |             <soap:operation soapAction="publishPDLUpdate"/>
  | 
  |             <input name="PublishPDLUpdateInput">
  |                 <soap:body use="literal"/>
  |             </input>
  |             <output name="PublishPDLUpdateOutput">
  |                 <soap:body use="literal"/>
  |             </output>
  |             <fault name="PublishPDLUpdateFault">
  |                 <soap:fault name="PublishPDLUpdateFault" use="literal"/>
  |             </fault>
  | 
  |         </operation>
  |     </binding>
  | </definitions>
  | 
and its corresponding XSD is

  | <?xml version="1.0" encoding="UTF-8"?>
  | <schema 
targetNamespace="urn:schema:v1:publishpdlupdate:integrations:bis.bonnier.se" 
  |     xmlns="http://www.w3.org/2001/XMLSchema";
  |     xmlns:tns="urn:schema:v1:publishpdlupdate:integrations:bis.bonnier.se"
  |     elementFormDefault="qualified"
  |     xmlns:common="urn:updatedata:common:bis.bonnier.se";>
  |     
  |     <import schemaLocation="updatedata-SNAPSHOT.xsd" 
  |             namespace="urn:updatedata:common:bis.bonnier.se"/>
  |     <!-- Elements used in the wsdl files -->
  |     <element name="publishPDLUpdateRequest" 
type="tns:PublishPDLUpdateRequest"/>
  |     <element name="publishPDLUpdateResponse" 
type="tns:PublishPDLUpdateResponse"/>
  |     <element name="publishPDLUpdateFault" type="tns:PublishPDLUpdateFault"/>
  | 
  |     <!-- Request type includes either an add, an update of a delete 
subelement -->
  |     <complexType name="PublishPDLUpdateRequest">
  | 
  |             <sequence>
  |                     <element name="add" type="common:Add" minOccurs="0" 
maxOccurs="1" />
  |                 <element name="update" type="common:Update" minOccurs="0" 
maxOccurs="1" />
  |                     <element name="delete" type="common:Delete" 
minOccurs="0" maxOccurs="1" />
  |             </sequence>
  |     </complexType>
  |     
  |     <!-- Response, including status -->
  |     <complexType name="PublishPDLUpdateResponse">
  |             <sequence>
  | 
  |                     <element name="status" type="int"/>
  |             </sequence>
  |     </complexType>
  |     
  |     <!-- Fault including error code and message -->
  |     <complexType name="PublishPDLUpdateFault">
  |         <sequence>
  |            <element name="code" type="int"/>
  |            <element name="message" type="string"/>
  |         </sequence>
  | 
  |     </complexType>
  |     
  | </schema>
  | 

What really boggles me is that we have the exact same setup with another 
web-service (ie a nodatabinding client) and it works just fine! 

I've probably just stared at it too long to see the obvious.. a star in heaven 
for he/she that can help!

regards,

Ole




View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3864058#3864058

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3864058


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to