My apologies if this is a duplicate. I thought I was subscribed when
I originally sent this to the list but was not, so I don't know if the
original went through or not.
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>