You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Jo...@genpt.com on 2004/04/15 00:43:57 UTC

More than one operation causes java.lang.reflect.InvocationTargetException

I am running axis 1.2 alpha and am trying to convert a web service from 
rpc/encoded that worked fine in axis 1.1 to doc/literal.  It didn't work 
in Axis 1.1 and since I saw 1.2 had additional support for doc/literal, I 
decided to try it...but without luck.  I have simplified my WSDL down to 
the file at the bottom.  In it, there are two operations.  If I generate 
from it with the two operations, and I try to see the Axis generated WSDL 
at URL?wsdl,  I get the following exception:

AXIS error
Sorry, something seems to have gone wrong... here are the details:
Exception - java.lang.reflect.InvocationTargetException



But, if I remove one of the operations, and do the same, all seems well 
and I can see the Axis generated WSDL.  I still haven't actually called 
the web service to verify that it works from a client, but at least the 
server seems to function.  I have simplified the WSDL significantly from 
what I started with.  Also, I have HAND modified the WSDL from rpc/encoded 
to doc/literal, and since my goal was to be a consumer of web services, I 
am not very WSDL savvy, and may have some things incorrect with it.
Anyone know what is wrong?  Any help would be appreciated.
Thanks.

===================== WSDL Begins Here 
======================================================
<?xml version="1.0" encoding="utf-8"?><wsdl:definitions name="WEJOEI" 
targetNamespace="urn:WEJOEI:genpt.com" 
xmlns:gpc_wejoei="urn:WEJOEI:genpt.com" 
xmlns:gpc_wejoei_t="urn:types:WEJOEI:genpt.com" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
        <xsd:schema targetNamespace="urn:types:WEJOEI:genpt.com">
            <xsd:simpleType name="typeCode_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="4"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="divNumber_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="2"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="dcNumber_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="2"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="custNumber_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="3"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="password_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="6"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="tams_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="4"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="tamsRevision_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="5"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="inqOrdCode_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="1"/>
                    <xsd:enumeration value="I"/>
                    <xsd:enumeration value="O"/>
                    <xsd:enumeration value=" ">
                        <xsd:annotation>
                            <xsd:documentation>A single space 
character.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:enumeration>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="quantity_t">
                <xsd:restriction base="xsd:int">
                    <xsd:maxInclusive value="9999"/>
                    <xsd:minInclusive value="0"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="partId_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="22"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="lineId_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="3"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="optionCode_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="1"/>
                    <xsd:enumeration value="M">
                        <xsd:annotation>
                            <xsd:documentation>Manufacturer 
Search</xsd:documentation>
                        </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="A">
                        <xsd:annotation>
                            <xsd:documentation>Quick Add 
Request</xsd:documentation>
                        </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value=" ">
                        <xsd:annotation>
                            <xsd:documentation>A single space 
character.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:enumeration>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="dcAbbreviation_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="3"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="shippingCode_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="1"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="callbackFlag_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="1"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="purchaseOrder_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="25"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="orderRemarks_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="35"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="statusCode_t">
                <xsd:restriction base="xsd:int">
                    <xsd:maxInclusive value="9999"/>
                    <xsd:minInclusive value="0"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="messageNumber_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="3"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="messageText_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="200"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:complexType name="messageData_t">
                <xsd:sequence>
                    <xsd:element name="dcAbbreviation" 
type="gpc_wejoei_t:dcAbbreviation_t"></xsd:element>
                    <xsd:element name="messageNumber" 
type="gpc_wejoei_t:messageNumber_t"></xsd:element>
                    <xsd:element name="messageText" 
type="gpc_wejoei_t:messageText_t"></xsd:element>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="returnData_t">
                <xsd:sequence>
                    <xsd:element name="statusCode" 
type="gpc_wejoei_t:statusCode_t"></xsd:element>
                    <xsd:element maxOccurs="unbounded" 
name="messageDataCollection" type="gpc_wejoei_t:messageData_t"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:schema>
    </wsdl:types>
    <wsdl:message name="PartInquirySoapOut">
        <wsdl:part name="returnData" 
type="gpc_wejoei_t:returnData_t"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="PartInquiryMfgSoapOut">
        <wsdl:part name="returnData" 
type="gpc_wejoei_t:returnData_t"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="PartInquirySoapIn">
        <wsdl:part name="divNumber" 
type="gpc_wejoei_t:divNumber_t"></wsdl:part>
        <wsdl:part name="dcNumber" 
type="gpc_wejoei_t:dcNumber_t"></wsdl:part>
        <wsdl:part name="custNumber" 
type="gpc_wejoei_t:custNumber_t"></wsdl:part>
        <wsdl:part name="quantity" 
type="gpc_wejoei_t:quantity_t"></wsdl:part>
        <wsdl:part name="partId" type="gpc_wejoei_t:partId_t"></wsdl:part>
        <wsdl:part name="lineId" type="gpc_wejoei_t:lineId_t"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="PartInquiryMfgSoapIn">
        <wsdl:part name="divNumber" 
type="gpc_wejoei_t:divNumber_t"></wsdl:part>
        <wsdl:part name="dcNumber" 
type="gpc_wejoei_t:dcNumber_t"></wsdl:part>
        <wsdl:part name="custNumber" 
type="gpc_wejoei_t:custNumber_t"></wsdl:part>
        <wsdl:part name="partId" type="gpc_wejoei_t:partId_t"></wsdl:part>
        <wsdl:part name="lineId" type="gpc_wejoei_t:lineId_t"></wsdl:part>
    </wsdl:message>
    <wsdl:portType name="WEJOEI">
        <wsdl:operation name="PartInquiry">
            <wsdl:input message="gpc_wejoei:PartInquirySoapIn" 
name="PartInquiryInput"/>
            <wsdl:output message="gpc_wejoei:PartInquirySoapOut" 
name="PartInquiryOutput"/>
        </wsdl:operation>
        <wsdl:operation name="PartInquiryMfg">
            <wsdl:input message="gpc_wejoei:PartInquiryMfgSoapIn" 
name="PartInquiryMfgInput"/>
            <wsdl:output message="gpc_wejoei:PartInquiryMfgSoapOut" 
name="PartInquiryMfgOutput"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="WEJOEISOAP" type="gpc_wejoei:WEJOEI">
        <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="PartInquiry">
            <soap:operation soapAction="urn:genpt.com:WEJOEI/PartInquiry" 
style="document"/>
            <wsdl:input name="PartInquiryInput">
                <soap:body encodingStyle="" 
namespace="urn:genpt.com:WEJOEI" use="literal"/>
            </wsdl:input>
            <wsdl:output name="PartInquiryOutput">
                <soap:body encodingStyle="" 
namespace="urn:genpt.com:WEJOEI" use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="PartInquiryMfg">
            <soap:operation 
soapAction="urn:genpt.com:WEJOEI/PartInquiryMfg" style="document"/>
            <wsdl:input name="PartInquiryMfgInput">
                <soap:body encodingStyle="" 
namespace="urn:genpt.com:WEJOEI" use="literal"/>
            </wsdl:input>
            <wsdl:output name="PartInquiryMfgOutput">
                <soap:body encodingStyle="" 
namespace="urn:genpt.com:WEJOEI" use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="WEJOEI">
        <wsdl:port binding="gpc_wejoei:WEJOEISOAP" name="WEJOEI">
            <soap:address 
location="http://wejoei.genpt.com:8080/axis/services/WEJOEI"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>
===================== WSDL Begins Here 
======================================================

RE: More than one operation causes java.lang.reflect.InvocationTargetException

Posted by Anne Thomas Manes <an...@manes.net>.
When using Document/Literal, your <message> definition should contain only
one <part>, not one <part> per parameter. That <part> must reference an
<element> definition (not a type). That element definition (defined in the
<types> section) is a wrapper element for your parameters. It defines the
literal structure of the contents of the SOAP Body. (If you want to use the
Wrapped style, then the name of the input element should be the same as your
method name, and its type should be defined using the <sequence> particle.,
containing all the parameter elements.)

e.g.,

Your third <message> definition looks like this:

<wsdl:message name="PartInquirySoapIn">
   <wsdl:part name="divNumber" type="gpc_wejoei_t:divNumber_t">
   </wsdl:part>
   <wsdl:part name="dcNumber" type="gpc_wejoei_t:dcNumber_t">
   </wsdl:part>
   <wsdl:part name="custNumber" type="gpc_wejoei_t:custNumber_t">
   </wsdl:part>
   <wsdl:part name="quantity" type="gpc_wejoei_t:quantity_t">
   </wsdl:part>
   <wsdl:part name="partId" type="gpc_wejoei_t:partId_t">
   </wsdl:part>
   <wsdl:part name="lineId" type="gpc_wejoei_t:lineId_t">
   </wsdl:part>
</wsdl:message>

But it should look like this:
<wsdl:message name="PartInquirySoapIn">
   <wsdl:part name="PartInquiryIn" type="gpc_wejoei_t:PartInquiry" />
</wsdl:message>

Where "gpc_wejoei_t:PartInquiry" references an element definition in your
schema, such as this:

<element name="PartInquiry" type="gpc_wejoei_t:partInquiry_t"/>
<complexType name=partInquiry_t>
  <sequence>
    <element name="divNumber" type="gpc_wejoei_t:divNumber_t"/>
    <element name="dcNumber" type="gpc_wejoei_t:dcNumber_t"/>
    <element name="custNumber" type="gpc_wejoei_t:custNumber_t"/>
    <element name="quantity" type="gpc_wejoei_t:quantity_t"/>
    <element name="partId" type="gpc_wejoei_t:partId_t"/>
    <element name="lineId" type="gpc_wejoei_t:lineId_t"/>
  </sequence>
</complexType>

Anne

-----Original Message-----
From: Joe_Rattz@genpt.com [mailto:Joe_Rattz@genpt.com] 
Sent: Wednesday, April 14, 2004 6:44 PM
To: axis-user@ws.apache.org
Subject: More than one operation causes
java.lang.reflect.InvocationTargetException

I am running axis 1.2 alpha and am trying to convert a web service from 
rpc/encoded that worked fine in axis 1.1 to doc/literal.  It didn't work 
in Axis 1.1 and since I saw 1.2 had additional support for doc/literal, I 
decided to try it...but without luck.  I have simplified my WSDL down to 
the file at the bottom.  In it, there are two operations.  If I generate 
from it with the two operations, and I try to see the Axis generated WSDL 
at URL?wsdl,  I get the following exception:

AXIS error
Sorry, something seems to have gone wrong... here are the details:
Exception - java.lang.reflect.InvocationTargetException



But, if I remove one of the operations, and do the same, all seems well 
and I can see the Axis generated WSDL.  I still haven't actually called 
the web service to verify that it works from a client, but at least the 
server seems to function.  I have simplified the WSDL significantly from 
what I started with.  Also, I have HAND modified the WSDL from rpc/encoded 
to doc/literal, and since my goal was to be a consumer of web services, I 
am not very WSDL savvy, and may have some things incorrect with it.
Anyone know what is wrong?  Any help would be appreciated.
Thanks.

===================== WSDL Begins Here 
======================================================
<?xml version="1.0" encoding="utf-8"?><wsdl:definitions name="WEJOEI" 
targetNamespace="urn:WEJOEI:genpt.com" 
xmlns:gpc_wejoei="urn:WEJOEI:genpt.com" 
xmlns:gpc_wejoei_t="urn:types:WEJOEI:genpt.com" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
        <xsd:schema targetNamespace="urn:types:WEJOEI:genpt.com">
            <xsd:simpleType name="typeCode_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="4"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="divNumber_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="2"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="dcNumber_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="2"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="custNumber_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="3"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="password_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="6"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="tams_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="4"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="tamsRevision_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="5"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="inqOrdCode_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="1"/>
                    <xsd:enumeration value="I"/>
                    <xsd:enumeration value="O"/>
                    <xsd:enumeration value=" ">
                        <xsd:annotation>
                            <xsd:documentation>A single space 
character.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:enumeration>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="quantity_t">
                <xsd:restriction base="xsd:int">
                    <xsd:maxInclusive value="9999"/>
                    <xsd:minInclusive value="0"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="partId_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="22"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="lineId_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="3"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="optionCode_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="1"/>
                    <xsd:enumeration value="M">
                        <xsd:annotation>
                            <xsd:documentation>Manufacturer 
Search</xsd:documentation>
                        </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="A">
                        <xsd:annotation>
                            <xsd:documentation>Quick Add 
Request</xsd:documentation>
                        </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value=" ">
                        <xsd:annotation>
                            <xsd:documentation>A single space 
character.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:enumeration>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="dcAbbreviation_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="3"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="shippingCode_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="1"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="callbackFlag_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="1"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="purchaseOrder_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="25"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="orderRemarks_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="35"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="statusCode_t">
                <xsd:restriction base="xsd:int">
                    <xsd:maxInclusive value="9999"/>
                    <xsd:minInclusive value="0"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="messageNumber_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="3"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="messageText_t">
                <xsd:restriction base="xsd:string">
                    <xsd:maxLength value="200"/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:complexType name="messageData_t">
                <xsd:sequence>
                    <xsd:element name="dcAbbreviation" 
type="gpc_wejoei_t:dcAbbreviation_t"></xsd:element>
                    <xsd:element name="messageNumber" 
type="gpc_wejoei_t:messageNumber_t"></xsd:element>
                    <xsd:element name="messageText" 
type="gpc_wejoei_t:messageText_t"></xsd:element>
                </xsd:sequence>
            </xsd:complexType>
            <xsd:complexType name="returnData_t">
                <xsd:sequence>
                    <xsd:element name="statusCode" 
type="gpc_wejoei_t:statusCode_t"></xsd:element>
                    <xsd:element maxOccurs="unbounded" 
name="messageDataCollection" type="gpc_wejoei_t:messageData_t"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:schema>
    </wsdl:types>
    <wsdl:message name="PartInquirySoapOut">
        <wsdl:part name="returnData" 
type="gpc_wejoei_t:returnData_t"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="PartInquiryMfgSoapOut">
        <wsdl:part name="returnData" 
type="gpc_wejoei_t:returnData_t"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="PartInquirySoapIn">
        <wsdl:part name="divNumber" 
type="gpc_wejoei_t:divNumber_t"></wsdl:part>
        <wsdl:part name="dcNumber" 
type="gpc_wejoei_t:dcNumber_t"></wsdl:part>
        <wsdl:part name="custNumber" 
type="gpc_wejoei_t:custNumber_t"></wsdl:part>
        <wsdl:part name="quantity" 
type="gpc_wejoei_t:quantity_t"></wsdl:part>
        <wsdl:part name="partId" type="gpc_wejoei_t:partId_t"></wsdl:part>
        <wsdl:part name="lineId" type="gpc_wejoei_t:lineId_t"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="PartInquiryMfgSoapIn">
        <wsdl:part name="divNumber" 
type="gpc_wejoei_t:divNumber_t"></wsdl:part>
        <wsdl:part name="dcNumber" 
type="gpc_wejoei_t:dcNumber_t"></wsdl:part>
        <wsdl:part name="custNumber" 
type="gpc_wejoei_t:custNumber_t"></wsdl:part>
        <wsdl:part name="partId" type="gpc_wejoei_t:partId_t"></wsdl:part>
        <wsdl:part name="lineId" type="gpc_wejoei_t:lineId_t"></wsdl:part>
    </wsdl:message>
    <wsdl:portType name="WEJOEI">
        <wsdl:operation name="PartInquiry">
            <wsdl:input message="gpc_wejoei:PartInquirySoapIn" 
name="PartInquiryInput"/>
            <wsdl:output message="gpc_wejoei:PartInquirySoapOut" 
name="PartInquiryOutput"/>
        </wsdl:operation>
        <wsdl:operation name="PartInquiryMfg">
            <wsdl:input message="gpc_wejoei:PartInquiryMfgSoapIn" 
name="PartInquiryMfgInput"/>
            <wsdl:output message="gpc_wejoei:PartInquiryMfgSoapOut" 
name="PartInquiryMfgOutput"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="WEJOEISOAP" type="gpc_wejoei:WEJOEI">
        <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="PartInquiry">
            <soap:operation soapAction="urn:genpt.com:WEJOEI/PartInquiry" 
style="document"/>
            <wsdl:input name="PartInquiryInput">
                <soap:body encodingStyle="" 
namespace="urn:genpt.com:WEJOEI" use="literal"/>
            </wsdl:input>
            <wsdl:output name="PartInquiryOutput">
                <soap:body encodingStyle="" 
namespace="urn:genpt.com:WEJOEI" use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="PartInquiryMfg">
            <soap:operation 
soapAction="urn:genpt.com:WEJOEI/PartInquiryMfg" style="document"/>
            <wsdl:input name="PartInquiryMfgInput">
                <soap:body encodingStyle="" 
namespace="urn:genpt.com:WEJOEI" use="literal"/>
            </wsdl:input>
            <wsdl:output name="PartInquiryMfgOutput">
                <soap:body encodingStyle="" 
namespace="urn:genpt.com:WEJOEI" use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="WEJOEI">
        <wsdl:port binding="gpc_wejoei:WEJOEISOAP" name="WEJOEI">
            <soap:address 
location="http://wejoei.genpt.com:8080/axis/services/WEJOEI"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>
===================== WSDL Begins Here 
======================================================