Stuart,

Thanks for sharing the solution with us and sorry to have kept you waiting!

Regards,

Gert Vanthienen
------------------------
Open Source SOA: http://fusesource.com
Blog: http://gertvanthienen.blogspot.com/



2009/5/9 Stuart Roe <[email protected]>:
> And the answer was the form of attributes and elements. Changing the wsdl
> file to read as below fixed the issue.
>
> The cause of the problem was that the client library wasn't able to control
> (set unqualified or qualified) the form of the elements and attributes. The
> libraries default was different to the default for SMX3.3. Added an explicit
> declaration to match the client's implementation corrected the problem.
>
> <xsd:schema targetNamespace="http://some.dom.com/soap/soapservice";
>      attributeFormDefault="qualified"
>      elementFormDefault="qualified">
> ...
> </xsd:schema>
>
> -----Original Message-----
> From: Stuart Roe [mailto:[email protected]]
> Sent: 08 May 2009 15:27
> To: [email protected]
> Subject: Help with cxf missing parameters
>
> Hope someone can help.
>
> I have configured (WSDL first) cxfbc and cxfse to operate with the following
> wsdl. The stub files created by wsdl2java are being called but the supplied
> parameters are null (when the client provided non-null parameters). The
> parameters (product and qty) can be seen in the packet dump below.  I have
> also included a copy of the wsdl file used to create the stub files.
>
> As the appropriate SE function in the stub is being called I'm assuming that
> the xbean configuration for both BC and SE are correct.
>
> Environment: WinXP, SMX 3.3, SMX-CXFBC/SE 2008.01.
>
> Please let me know if I'm wrong here or if further information is required.
>
> Stuart.
>
> Packet dump:
>
> POST /soap/sscc HTTP/1.1
> User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS .NET CF Web Services
> Client Protocol 1.0.4292.0)
> Cache-Control: No-Transform
> SOAPAction: " <http://some.dom.com/soap/soapservice/createLabel>
> http://some.dom.com/soap/soapservice/createLabel";
> Content-Type: text/xml; charset=utf-8
> Content-Length: 350
> Connection: Keep-Alive
> Expect: 100-continue
> Host: 192.168.1.2
>
> <soap:Envelope xmlns:soap=" <http://schemas.xmlsoap.org/soap/envelope/>
> http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsi="
> <http://www.w3.org/2001/XMLSchema-instance>
> http://www.w3.org/2001/XMLSchema-instance"; xmlns:xsd="
> <http://www.w3.org/2001/XMLSchema>
> http://www.w3.org/2001/XMLSchema";><soap:Body><createLabel xmlns="
> <http://some.dom.com/soap/soapservice>
> http://some.dom.com/soap/soapservice";><product><ref>Hello
> </ref></product><qty><qty1>world</qty1></qty></createLabel></soap:Body></soa
> p:Envelope>
>
>
> Here is the WSDL file used to create the server source files:
>
> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <wsdl:definitions
> xmlns:p=" <http://schemas.xmlsoap.org/wsdl/soap/>
> http://schemas.xmlsoap.org/wsdl/soap/";
>  xmlns:soap=" <http://some.dom.com/soap/soapservice>
> http://some.dom.com/soap/soapservice";
>  xmlns:wsdl=" <http://schemas.xmlsoap.org/wsdl/>
> http://schemas.xmlsoap.org/wsdl/";
>  xmlns:xsd=" <http://www.w3.org/2001/XMLSchema>
> http://www.w3.org/2001/XMLSchema";
>  name="soap"
>  targetNamespace=" <http://some.dom.com/soap/soapservice>
> http://some.dom.com/soap/soapservice";>
>
>  <wsdl:types>
>    <xsd:schema targetNamespace=" <http://some.dom.com/soap/soapservice>
> http://some.dom.com/soap/soapservice";>
>      <xsd:complexType name="product">
>          <xsd:sequence>
>              <xsd:element name="ref" type="xsd:string" />
>          </xsd:sequence>
>      </xsd:complexType>
>      <xsd:complexType name="qty">
>        <xsd:sequence>
>          <xsd:element name="qty" type="xsd:string" />
>        </xsd:sequence>
>      </xsd:complexType>
>
>      <xsd:element name="createLabel">
>        <xsd:complexType>
>          <xsd:sequence>
>            <xsd:element name="product" type="soap:product" />
>            <xsd:element name="qty" type="soap:qty" />
>          </xsd:sequence>
>        </xsd:complexType>
>      </xsd:element>
>
>      <xsd:element name="createLabelResponse">
>        <xsd:complexType>
>          <xsd:sequence>
>            <xsd:element name="status" type="xsd:integer" />
>          </xsd:sequence>
>        </xsd:complexType>
>      </xsd:element>
>    </xsd:schema>
>  </wsdl:types>
>
>  <wsdl:message name="createLabelRequest">
>    <wsdl:part element="soap:createLabel" name="parameters"/>
>  </wsdl:message>
>
>  <wsdl:message name="createLabelResponse">
>    <wsdl:part element="soap:createLabelResponse" name="parameters"/>
>  </wsdl:message>
>
>  <wsdl:portType name="SOAPPort">
>    <wsdl:operation name="createLabel">
>      <wsdl:input message="soap:createLabelRequest"/>
>      <wsdl:output message="soap:createLabelResponse"/>
>    </wsdl:operation>
>  </wsdl:portType>
>
>  <wsdl:binding name="soapSOAPBinding" type="soap:SOAPPort">
>    <p:binding style="document" transport="
> <http://schemas.xmlsoap.org/soap/http>
> http://schemas.xmlsoap.org/soap/http"/>
>    <wsdl:operation name="createLabel">
>      <p:operation soapAction="
> <http://some.dom.com/soap/soapservice/createLabel>
> http://some.dom.com/soap/soapservice/createLabel"/>
>      <wsdl:input>
>        <p:body use="literal"/>
>      </wsdl:input>
>      <wsdl:output>
>        <p:body use="literal"/>
>      </wsdl:output>
>    </wsdl:operation>
>  </wsdl:binding>
>
>  <wsdl:service name="soapService">
>    <wsdl:port binding="soap:soapSOAPBinding" name="soapSOAP">
>      <p:address location=" <http://localhost:81/soap/sscc>
> http://localhost:81/soap/sscc"/>
>    </wsdl:port>
>  </wsdl:service>
>
> </wsdl:definitions>
>
>
>

Reply via email to