Hi,

I have a problem with Axis generated WSDL.
First I manually created an WSDL file (see following) and use axis 1.1’s WSDL2Java to generate code in wrapped mode,
The function signature is String customerSearch(String, ...,String), which is good.



<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"; xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; xmlns:y="http://ufo.com/dtsctt/dsbs/types"; targetNamespace="http://ufo.com/dtsctt/dsbs/types";>
<types>
<xs:schema targetNamespace="http://ufo.com/dtsctt/dsbs/types";>
<xs:element name="CustomerSearch">
<xs:complexType>
<xs:sequence>
<xs:element name="ClientAppName" type="xs:string"/>
<xs:element name="UserID" type="xs:string"/>
<xs:element name="IMSGroup" type="xs:string"/>
<xs:element name="AccountNo" type="xs:string"/>
<xs:element name="Biller" type="xs:string"/>
<xs:element name="SearchType" type="xs:string"/>
<xs:element name="TimeOut" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CustomerSearchResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="result" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</types>
<message name="CustomerSearchRequest">
<part name="parameters" element="y:CustomerSearch"/>
</message>
<message name="CustomerSearchResponse">
<part name="parameters" element="y:CustomerSearchResponse"/>
</message>
<portType name="DSBSInterface">
<operation name="CustomerSearch">
<input message="y:CustomerSearchRequest"/>
<output message="y:CustomerSearchResponse"/>
</operation>
</portType>
<binding name="DsbsSoapBinding" type="y:DSBSInterface">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="CustomerSearch">
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="DTSService">
<port name="dsbs" binding="y:DsbsSoapBinding">
<soap:address location="http://localhost:8080/dts/dsbs.wsdl"/>
</port>
</service>
</definitions>


But when I deployed this web service and use ?wsdl to get the axis generated WSDL from the Java code, and then use that to feed to axis’s WSDL2Java again,
It generates function like _CustomerSearchResponse customerSearch(com.att.dtsctt.dsbs.types._CustomerSearch parameters)


Does somebody have any idea why this process is not reversible.
The following is axis 1.1 generated WSDL file (use ?wsdl to get it)


<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://ufo.com/dtsctt/dsbs/types"; xmlns="http://schemas.xmlsoap.org/wsdl/"; xmlns:apachesoap="http://xml.apache.org/xml-soap"; xmlns:impl="http://ufo.com/dtsctt/dsbs/types"; xmlns:intf="http://ufo.com/dtsctt/dsbs/types"; xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
<wsdl:types>
<schema targetNamespace="http://ufo.com/dtsctt/dsbs/types"; xmlns="http://www.w3.org/2001/XMLSchema";>
<element name="CustomerSearch">
<complexType>
<sequence>
<element name="ClientAppName" type="xsd:string"/>
<element name="UserID" type="xsd:string"/>
<element name="IMSGroup" type="xsd:string"/>
<element name="AccountNo" type="xsd:string"/>
<element name="Biller" type="xsd:string"/>
<element name="SearchType" type="xsd:string"/>
<element name="TimeOut" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="CustomerSearchResponse">
<complexType>
<sequence>
<element name="result" type="xsd:string"/>
</sequence>
</complexType>
</element>
</schema>
</wsdl:types>
<wsdl:message name="customerSearchRequest">
<wsdl:part element="intf:CustomerSearch" name="parameters"/>
</wsdl:message>
<wsdl:message name="customerSearchResponse">
<wsdl:part element="intf:CustomerSearchResponse" name="parameters"/>
</wsdl:message>
<wsdl:portType name="DSBSInterface">
<wsdl:operation name="customerSearch" parameterOrder="">
<wsdl:input message="intf:customerSearchRequest" name="customerSearchRequest"/>
<wsdl:output message="intf:customerSearchResponse" name="customerSearchResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="dsbsSoapBinding" type="intf:DSBSInterface">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="customerSearch">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="customerSearchRequest">
<wsdlsoap:body namespace="http://ufo.com/dtsctt/dsbs/types"; use="literal"/>
</wsdl:input>
<wsdl:output name="customerSearchResponse">
<wsdlsoap:body namespace="http://ufo.com/dtsctt/dsbs/types"; use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="DTSService">
<wsdl:port binding="intf:dsbsSoapBinding" name="dsbs">
<wsdlsoap:address location="http://localhost:8080/DTSCTT/services/dsbs"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>



Any thought is appreciated.


Thanks
Netatta

_________________________________________________________________
Don’t worry if your Inbox will max out while you are enjoying the holidays. Get MSN Extra Storage! http://join.msn.com/?PAGE=features/es




Reply via email to