THX,
     I will raise a bugzilla about this.

Simon Solomon
[EMAIL PROTECTED]




                                                                           
           "Anthony Elder"                                                 
           <[EMAIL PROTECTED]                                             
           om>                                                          To 
                                      [EMAIL PROTECTED]              
           03/17/2003 04:11 AM                                          cc 
                                                                           
                                                                   Subject 
            Please respond to         Re: WSIFOperation_ApacheAxis         
           [EMAIL PROTECTED]                                             
                  .org                                                     
                                                                           
                                                                           
                                                                           
                                                                           





Hardly surprising this doesn't work properly as immediately after your
change there's a comment in the code saying //TODO: sort out param
namespace!

Could you raise a bugzilla about this so it doesn't get forgotten again
please? I vaguely remember there was another issue with the namespace which
made it harder to fix, but I'll need to go back and do some testing to see
what it was...

       ...ant

Anthony Elder
[EMAIL PROTECTED]
Web Services Development
IBM UK Laboratories,  Hursley Park
(+44) 01962 818320, x248320, MP208.


"Simon Solomon" <[EMAIL PROTECTED]> on 14/03/2003 16:21:12

Please respond to [EMAIL PROTECTED]

To:    [EMAIL PROTECTED]
cc:
Subject:    WSIFOperation_ApacheAxis







Hi,

I am using WSIF to invoke the attached WSDL. (Using the ApacheAxis
Provider)
However, the generated soap message (attached below) contains an invalid
namespace tag for the
"greetData" part name as "<ns1:greetData href="#id0"/>" where it should
have looked like
"<greetData href="#id0"/>".

When I add the following lines of code to the WSIFOperation_ApacheAxis.java
setCallParameterNames(Call call) function, the correct soap message is
generated.

Does anyone know what I am missing or what's going on?
*This only happens in a document style service.
*This problem does not happen when I use the ApacheSoap Provider.

Thanks!

Added Code ->>
if(WSIFAXISConstants.STYLE_RPC.equals(operationStyle))
     name = new QName("", partName);
else
                name = new QName(inputNamespace, partName);

QName type = getPartType(p);
call.addParameter(name, type, ParameterMode.IN);

Invalid Saop ->>
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance";>
 <soapenv:Body>
  <ns1:sayHello soapenv:encodingStyle
="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:ns1
="http://sde.fds.com/schema/mpsitest";>
   <ns1:greetData href="#id0"/>
  </ns1:sayHello>
  <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle
="http://schemas.xmlsoap.org/soap/encoding/"; xsi:type="ns2:Data"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:ns2
="http://sde.fds.com/schema/mpsitest";>
   <name xsi:type="xsd:string">Simon Solomon</name>
   <id xsi:type="xsd:string">1234</id>
  </multiRef>
 </soapenv:Body>
</soapenv:Envelope>

WSDL Used ->>
<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; xmlns:soap
="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:s
="http://www.w3.org/2001/XMLSchema"; xmlns:s0
="http://schema.sde.fds.com/mpsitest/complex2"; xmlns:soapenc
="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:tm
="http://microsoft.com/wsdl/mime/textMatching/"; xmlns:mime
="http://schemas.xmlsoap.org/wsdl/mime/"; targetNamespace
="http://schema.sde.fds.com/mpsitest/complex2"; xmlns
="http://schemas.xmlsoap.org/wsdl/";>
  <types>
    <s:schema elementFormDefault="qualified" targetNamespace
="http://schema.sde.fds.com/mpsitest/complex2";>
      <s:element name="sayHello">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="greetData" type
="s0:ArrayOfSomeData" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfSomeData">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="SomeData"
nillable="true" type="s0:SomeData" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="SomeData">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="name" type
="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="id" type="s:string"
/>
        </s:sequence>
      </s:complexType>
      <s:element name="sayHelloResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="sayHelloResult"
type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
  </types>
  <message name="sayHelloSoapIn">
    <part name="parameters" element="s0:sayHello" />
  </message>
  <message name="sayHelloSoapOut">
    <part name="parameters" element="s0:sayHelloResponse" />
  </message>
  <portType name="Complex2Soap">
    <operation name="sayHello">
      <input message="s0:sayHelloSoapIn" />
      <output message="s0:sayHelloSoapOut" />
    </operation>
  </portType>
  <binding name="Complex2Soap" type="s0:Complex2Soap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; style
="document" />
    <operation name="sayHello">
      <soap:operation soapAction
="http://schema.sde.fds.com/mpsitest/complex2/sayHello"; style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
  </binding>
  <service name="Complex2">
    <documentation>MPSI Testing WebService</documentation>
    <port name="Complex2Soap" binding="s0:Complex2Soap">
      <soap:address location
="http://fs000xs3070514/mpsi_test/complex2.asmx"; />
    </port>
  </service>
</definitions>


Simon Solomon
[EMAIL PROTECTED]






Reply via email to