users@jax-rpc.java.net

Problems with wsdeploy

From: David Sharp <dsharp02_at_gmail.com>
Date: Thu, 24 Mar 2005 15:17:44 -0600

I have a web service I'm developing and for some reason on my home
machine, wsdeploy does not work. I get "Exception in thread "main"
java.lang.NoClassDefFoundError:
com/sun/xml/messaging/saaj/util/ByteInputStream" whenever I try to
wsdeploy. I have tried adding the saaj-impl.jar via the -classpath
commandline argument to no avail. I have tried adding the
saaj-impl.jar to lib/ under WEB-INF in the war file. I have even
edited the wsdeploy.bat file and specified the saaj-impl.jar on the
classpath argument passed into LauncherBootstrap.

Any help would be appreciated. Here is the output from my wsdeploy command.

E:\Programming\ClaimNet\ws-reference\war>wsdeploy -verbose -o dave.war
claimnet.war
info: created temporary directory:
F:\DOCUME~1\dsharp\LOCALS~1\Temp\jaxrpc-deploy-bc0886
[CustomClassGenerator: Class claimnet.webservice.server.SubmitPOC
exists. Not overriding.]
[CustomClassGenerator: Class claimnet.webservice.server.SubmitPOCDatum
exists. Not overriding.]
[CustomClassGenerator: Class
claimnet.webservice.server.ClaimNetServiceException exists. Not
overriding.]
[CustomClassGenerator: Class claimnet.webservice.server.GetPOCData
exists. Not overriding.]
[CustomClassGenerator: Class
claimnet.webservice.server.GetPOCDataReturn exists. Not overriding.]
[CustomClassGenerator: Class
claimnet.webservice.server.GetPOCDataReturnDatum exists. Not
overriding.]
[CustomClassGenerator: Class claimnet.webservice.server.GetPOCStatus
exists. Not overriding.]
[CustomClassGenerator: Class
claimnet.webservice.server.GetPOCStatusReturn exists. Not overriding.]
[CustomClassGenerator: Class
claimnet.webservice.server.GetSecurityQuestion exists. Not
overriding.]
[CustomClassGenerator: Class
claimnet.webservice.server.GetSecurityQuestionReturn exists. Not
overriding.]
[LiteralObjectSerializerGenerator: writing serializer/deserializer
for: submitPOC-datum]
[LiteralObjectSerializerGenerator: writing serializer/deserializer
for: submitPOC]
[LiteralObjectSerializerGenerator: writing serializer/deserializer
for: ClaimNetServiceException]
[LiteralObjectSerializerGenerator: writing serializer/deserializer
for: getPOCData]
[LiteralObjectSerializerGenerator: writing serializer/deserializer
for: getPOCData-return-datum]
[LiteralObjectSerializerGenerator: writing serializer/deserializer
for: getPOCData-return]
[LiteralObjectSerializerGenerator: writing serializer/deserializer
for: getPOCStatus]
[LiteralObjectSerializerGenerator: writing serializer/deserializer
for: getPOCStatus-return]
[LiteralObjectSerializerGenerator: writing serializer/deserializer
for: getSecurityQuestion]
[LiteralObjectSerializerGenerator: writing serializer/deserializer
for: getSecurityQuestion-return]
[CustomExceptionGenerator: generating CustomException for:
claimnet.webservice.server.ClaimNetServiceException]
[SOAPFaultSerializerGenerator: generating FaultHandler for: submitPOC]
[SOAPFaultSerializerGenerator: generating FaultHandler for: getPOCData]
[SOAPFaultSerializerGenerator: generating FaultHandler for: getPOCStatus]
[SOAPFaultSerializerGenerator: generating FaultHandler for: getSecurityQuestion]
[FaultExceptionBuilderGenerator: writing object builder for: submitPOC]
[FaultExceptionBuilderGenerator: writing object builder for: getPOCData]
[FaultExceptionBuilderGenerator: writing object builder for: getPOCStatus]
[FaultExceptionBuilderGenerator: writing object builder for:
getSecurityQuestion]
[SerializerRegistryGenerator: Class
claimnet.webservice.server.ReceivershipService_SerializerRegistry
exists. Not overriding.]
info: removed temporary directory:
F:\DOCUME~1\dsharp\LOCALS~1\Temp\jaxrpc-deploy-bc0886
Exception in thread "main" java.lang.NoClassDefFoundError:
com/sun/xml/messaging/saaj/util/ByteInputStream
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:219)
        at com.sun.xml.rpc.processor.modeler.rmi.RmiUtils.getLoadableClassName(RmiUtils.java:78)
        at com.sun.xml.rpc.processor.generator.GeneratorUtil.classExists(GeneratorUtil.java:140)
        at com.sun.xml.rpc.processor.generator.StubTieGeneratorBase.writeClass(StubTieGeneratorBase.java:225)
        at com.sun.xml.rpc.processor.generator.StubTieGeneratorBase.postVisitPort(StubTieGeneratorBase.java:141)
        at com.sun.xml.rpc.processor.generator.TieGenerator.postVisitPort(TieGenerator.java:174)
        at com.sun.xml.rpc.processor.generator.GeneratorBase.visit(GeneratorBase.java:253)
        at com.sun.xml.rpc.processor.model.Port.accept(Port.java:138)
        at com.sun.xml.rpc.processor.generator.GeneratorBase.visitService(GeneratorBase.java:232)
        at com.sun.xml.rpc.processor.generator.GeneratorBase.visit(GeneratorBase.java:220)
        at com.sun.xml.rpc.processor.model.Service.accept(Service.java:102)
        at com.sun.xml.rpc.processor.generator.GeneratorBase.visitModel(GeneratorBase.java:211)
        at com.sun.xml.rpc.processor.generator.GeneratorBase.visit(GeneratorBase.java:199)
        at com.sun.xml.rpc.processor.model.Model.accept(Model.java:139)
        at com.sun.xml.rpc.processor.generator.GeneratorBase.doGeneration(GeneratorBase.java:188)
        at com.sun.xml.rpc.processor.generator.GeneratorBase.perform(GeneratorBase.java:133)
        at com.sun.xml.rpc.processor.Processor.runActions(Processor.java:88)
        at com.sun.xml.rpc.tools.wscompile.CompileTool.run(CompileTool.java:739)
        at com.sun.xml.rpc.tools.wsdeploy.DeployTool.process(DeployTool.java:344)
        at com.sun.xml.rpc.tools.wsdeploy.DeployTool.run(DeployTool.java:254)
        at com.sun.xml.rpc.util.ToolBase.run(ToolBase.java:43)
        at com.sun.xml.rpc.tools.wsdeploy.Main.main(Main.java:22)

Here is my jaxrpc-ri.xml:
<?xml version="1.0" encoding="UTF-8"?>
<webServices
       xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/dd"
       version="1.0"
       targetNamespaceBase="uri:ClaimNet-wsdl"
       typeNamespaceBase="uri:ClaimNet-types"
       urlPatternBase="/">

       <endpoint
           name="ClaimNetServices"
           displayName="ClaimNet Web Services"
           description="The ClaimNet Web Services API"
           interface="claimnet.webservice.server.ReceivershipServicePortType"
           implementation="claimnet.webservice.server.ReceivershipServiceImpl"
           tie="claimnet.webservice.server.ReceivershipServicePortType_Tie"
           wsdl="/WEB-INF/ReceivershipAPI.wsdl"
           model="/WEB-INF/ReceivershipAPI_model.xml.gz"
           />
       <endpointMapping
           endpointName="ClaimNetServices"
           urlPattern="/ClaimNetServices"/>
</webServices>

Here is my WSDL:

?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="ClaimNetService"
                 targetNamespace="uri:ClaimNet-wsdl"
                 xmlns:tns="uri:ClaimNet-wsdl"
                 xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                 xmlns:ns2="uri:ClaimNet-types"
                 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
    <wsdl:types>
        <xsd:schema targetNamespace="uri:ClaimNet-types"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema">

            <xsd:element name="submitPOC">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="id" type="xsd:string"
minOccurs="1" maxOccurs="1"/>
                        <xsd:element name="datum" minOccurs="1"
maxOccurs="unbounded" >
                            <xsd:complexType>
                                <xsd:sequence>
                                    <xsd:element name="name"
type="xsd:string" minOccurs="1" maxOccurs="1" />
                                    <xsd:element name="value"
type="xsd:string" minOccurs="1" maxOccurs="unbounded" />
                                </xsd:sequence>
                            </xsd:complexType>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="submitPOC-return" type="xsd:boolean" />

            <xsd:element name="getPOCData" >
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="id" type="xsd:string"
minOccurs="1" maxOccurs="1"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="getPOCData-return">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="id" type="xsd:string"
minOccurs="1" maxOccurs="1"/>
                        <xsd:element name="datum" minOccurs="1"
maxOccurs="unbounded" >
                            <xsd:complexType>
                                <xsd:sequence>
                                    <xsd:element name="name"
type="xsd:string" minOccurs="1" maxOccurs="1"/>
                                    <xsd:element name="value"
type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
                                </xsd:sequence>
                            </xsd:complexType>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
           
            <xsd:element name="getPOCStatus">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="id" type="xsd:string"
minOccurs="1" maxOccurs="1"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="getPOCStatus-return">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="code" type="xsd:int"
minOccurs="1" maxOccurs="1"/>
                        <xsd:element name="message" type="xsd:string"
minOccurs="1" maxOccurs="unbounded"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="getSecurityQuestion">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="id" type="xsd:string"
minOccurs="1" maxOccurs="1"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="getSecurityQuestion-return">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="display" type="xsd:string"
minOccurs="1" maxOccurs="1"/>
                        <xsd:element name="answer" type="xsd:string"
minOccurs="1" maxOccurs="1"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

            <xsd:element name="ClaimNetServiceException">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="code" type="xsd:int"
minOccurs="1" maxOccurs="1" />
                        <xsd:element name="explanation"
type="xsd:string" minOccurs="1" maxOccurs="unbounded" />
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>

        </xsd:schema>
    </wsdl:types>
    <!-- Start of Messages -->

    <wsdl:message name="ClaimNetServiceException">
        <wsdl:part name="exception" element="ns2:ClaimNetServiceException" />
    </wsdl:message>
         
    <!--
    submitPOC()
    -->
    <wsdl:message name="submitPOC-request">
        <wsdl:part name="parameters" element="ns2:submitPOC"/>
    </wsdl:message>
    <wsdl:message name="submitPOC-response">
        <wsdl:part name="result" element="ns2:submitPOC-return"/>
    </wsdl:message>
    
    <!--
    getPOCData()
    -->
    <wsdl:message name="getPOCData-request">
        <wsdl:part name="parameters" element="ns2:getPOCData"/>
    </wsdl:message>
    <wsdl:message name="getPOCData-response">
        <wsdl:part name="result" element="ns2:getPOCData-return"/>
    </wsdl:message>

    <!--
    getPOCStatus()
    -->
    <wsdl:message name="getPOCStatus-request">
        <wsdl:part name="parameters" element="ns2:getPOCStatus"/>
    </wsdl:message>
    <wsdl:message name="getPOCStatus-response">
        <wsdl:part name="result" element="ns2:getPOCStatus-return"/>
    </wsdl:message>

    <!--
    getSecurityQuestion()
    -->
    <wsdl:message name="getSecurityQuestion-request">
        <wsdl:part name="parameters" element="ns2:getSecurityQuestion"/>
    </wsdl:message>
    <wsdl:message name="getSecurityQuestion-response">
        <wsdl:part name="result" element="ns2:getSecurityQuestion-return"/>
    </wsdl:message>

    <!-- End of Messages -->
    <wsdl:portType name="ReceivershipServicePortType">
        <wsdl:operation name="submitPOC" >
            <wsdl:input message="tns:submitPOC-request"/>
            <wsdl:output message="tns:submitPOC-response"/>
            <wsdl:fault name="ClaimNetServiceFault"
message="tns:ClaimNetServiceException" />
        </wsdl:operation>
        <wsdl:operation name="getPOCData">
            <wsdl:input message="tns:getPOCData-request"/>
            <wsdl:output message="tns:getPOCData-response"/>
            <wsdl:fault name="ClaimNetServiceFault"
message="tns:ClaimNetServiceException" />
        </wsdl:operation>
        <wsdl:operation name="getPOCStatus">
            <wsdl:input message="tns:getPOCStatus-request"/>
            <wsdl:output message="tns:getPOCStatus-response"/>
            <wsdl:fault name="ClaimNetServiceFault"
message="tns:ClaimNetServiceException" />
        </wsdl:operation>
        <wsdl:operation name="getSecurityQuestion">
            <wsdl:input message="tns:getSecurityQuestion-request"/>
            <wsdl:output message="tns:getSecurityQuestion-response"/>
            <wsdl:fault name="ClaimNetServiceFault"
message="tns:ClaimNetServiceException" />
        </wsdl:operation>
    </wsdl:portType>
         

    <wsdl:binding name="ReceivershipServiceBinding"
type="tns:ReceivershipServicePortType">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
        <wsdl:operation name="submitPOC">
            <soap:operation soapAction=""/>
            <wsdl:input>
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />
            </wsdl:output>
            <wsdl:fault name="ClaimNetServiceFault">
                <soap:fault name="ClaimNetServiceFault"
                            use="literal" />
            </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="getPOCData">
            <soap:operation soapAction=""/>
            <wsdl:input>
                <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                use="literal" />
            </wsdl:output>
            <wsdl:fault name="ClaimNetServiceFault">
                <soap:fault name="ClaimNetServiceFault"
                           
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                            use="literal" />
            </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="getPOCStatus">
            <soap:operation soapAction=""/>
            <wsdl:input>
                <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                use="literal" />
            </wsdl:output>
            <wsdl:fault name="ClaimNetServiceFault">
                <soap:fault name="ClaimNetServiceFault"
                           
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                            use="literal" />
            </wsdl:fault>
        </wsdl:operation>
        <wsdl:operation name="getSecurityQuestion">
            <soap:operation soapAction=""/>
            <wsdl:input>
                <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                use="literal" />
            </wsdl:output>
            <wsdl:fault name="ClaimNetServiceFault">
                <soap:fault name="ClaimNetServiceFault"
                           
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                            use="literal" />
            </wsdl:fault>
        </wsdl:operation>
    </wsdl:binding>
         

    <wsdl:service name="ReceivershipService">
        <wsdl:port name="ReceivershipPort"
binding="tns:ReceivershipServiceBinding">
            <soap:address
location="http://servername.org:8080/dave/ClaimNetServices" />
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>