axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "" <dexterw...@iwon.com>
Subject Re: Problem deploying webservice- can't find Deserializer
Date Wed, 13 Jul 2005 20:51:10 GMT

Hi,
on jboss 4 series you can create two types of web services
0. using jboss.net, based on axis 1.1
1. using jboss.ws, they want to move away from axis. To be
more j2ee compliant(servlet or stateless session beans).

You are using jboss.net, since you mentioned AdminClient to
deploy your webservice. I can not see the wiki for jboss.net
on www.jboss.com. I assume they are trying to kill off the jboss.net support. I'd bulid your
example against jboss.net but
I can find the wiki pages.

I am able to build your web service using the second approach.
Here is my setup

windows 2003, jdk build 1.5.0_01-b08,
jwsdp 1.5(for wscompile utility), jboss-4.0.1sp1

I did the following.
0. took your wsdl and renamed your package name from
new.webservice.namespace to com.webservice.namespace

It seemed wscompile does not like the new part and was
giving me some errors.

1. ran
wscompile -gen:server -mapping jaxrpc-mapping.xml -keep config.xml
to generate the ties(server side code) and jaxrpc-mapping.xml
file
2. I added to modify FulfilOrderPort_Tie.java and
(service endpoint interface) FulfilOrderPort.java

The code generated from wscompile passed in many arguments
and to the FulfilOrderPort.fulfilOrder() api. I modified
the code to pass in the wrapper object created from
wscompile.

3. Created a servlet that implements the sei. See
FulfilOrderPortImpl.java

4. packaged everything up in a war file. I have attached it.

5. I have attached a client code, see client.zip.

Note: wscompile did not create SalesOrder or FulFilmentRequestSummary wrapper object instead
it created
SalesOrderType and FulfilementRequestType. You can ingore the
following error messages when you deploy the war file(use
hot deployment).

11:19:36,671 INFO [WSDLFilePublisher] WSDL published to: file:/C:/dwong/jboss-4
.0.1sp1/server/default/data/wsdl/test.war/test.wsdl
11:19:37,171 WARN [JavaWsdlMapping] Cannot find jaxrpc-mapping for type: {http:
//com.webservice.namespace}SalesOrder
11:19:37,187 WARN [JavaWsdlMapping] Cannot find jaxrpc-mapping for type: {http:
//com.webservice.namespace}FulfilmentRequestSummary
11:19:38,828 WARN [TypeMappingDescription] Class not found: com.webservice.name
space.FulfilmentRequestSummary
11:19:38,859 WARN [TypeMappingDescription] Class not found: com.webservice.name
space.SalesOrder
11:19:38,906 INFO [AxisService] WSDD published to: C:\dwong\jboss-4.0.1sp1\serv
er\default\data\wsdl\test.war\fulfilOrderPort.wsdd
11:19:40,171 INFO [AxisService] Web Service deployed: http://xman:8080/test/wil
dpath
11:19:40,781 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-808
0
11:19:41,015 INFO [ChannelSocket] JK2: ajp13 listening on /0.0.0.0:8009

If you need jboss.net style. Let me know. We can try to get it to
work. Also I can not attached the *.war or *.zip and reply to the
list. Since it only wants text files. I email you the files
to your own personal email account. 

-cheers




 --- On Tue 07/12, Barry Fitzgerald < barfitzgerald@gmail.com > wrote:
From: Barry Fitzgerald [mailto: barfitzgerald@gmail.com]
To: axis-user@ws.apache.org, dexterwong@iwon.com
Date: Tue, 12 Jul 2005 18:23:24 +0100
Subject: Re: Problem deploying webservice- can't find Deserializer

Thanks for the quick reply <br><br>I'm using jboss 4.02<br><br>I was
given the wsdl which was manually created and used wsdl2java<br>from axis to generate
the web service classes. So I presume .ws is the<br>answer.<br><br>Is this
what you needed to know?<br><br>Barry<br><br>On 7/12/05, dexterwong@iwon.com
<dexterwong@iwon.com> wrote:<br>> <br>> Hi,<br>> I have some
questions:<br>> <br>> What version of jboss are you using?<br>>
How are you creating the web services .NET or .WS<br>> <br>>  --- On Tue
07/12, Barry Fitzgerald < barfitzgerald@gmail.com > wrote:<br>> From: Barry
Fitzgerald [mailto: barfitzgerald@gmail.com]<br>> To: axis-user@ws.apache.org<br>>
Date: Tue, 12 Jul 2005 16:11:54 +0100<br>> Subject: Problem deploying webservice-
can't find Deserializer<br>> <br>> Hi all,<br><br>I've been
using axis 1.2 with JBoss for a while now but have seemed to<br>come up against a brick
wall. After using wsdl2java on a custom built<br>wsdl I have tried to deploy the webservice

using the AdminClient.<br><br>The AdminClient fails with an java.lang.reflect.InvocationTargetException<br><br>By
just copying the relevant part of the deploy.wsdd into the axis<br>server_config.wsdd
file and restarting my application server (JBoss<br>4.0.2). I get the following error:<br><br>15:42:48,823
INFO  [TomcatDeployer] deploy, ctxPath=/axis,<br>warUrl=file:/C:/jboss/jboss-4.0.2RC1/server/default/deploy/axis.war/<br>15:42:52,659
ERROR [[/axis]] StandardWrapper.Throwable<br>java.lang.NoClassDefFoundError: org/apache/axis/encoding/Deserializer<br>
   at java.lang.Class.forName0(Native Method)<br>  at java.lang.Class.forName(Class.java:219)<br>
 at org.apache.axis.utils.ClassUtils$2.run(ClassUtils.java:176)<br>      at java.security.AccessController.doPrivileged(Native<br>>
Method)<br>     at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:160)<br>
 at org.apache.axis.utils.ClassUtils.forName(ClassUtils.java:100)<br>    at 
org.apache.axis.deployment.wsdd.WSDDTypeMapping.getLanguageSpecificType(WSDDTypeMapping.java:183)<br>
       at org.apache.axis.deployment.wsdd.WSDDService.deployTypeMapping(WSDDService.java:534)<br>
     at org.apache.axis.deployment.wsdd.WSDDService.initTMR(WSDDService.java:245)<br>
       at org.apache.axis.deployment.wsdd.WSDDService.<init>(WSDDService.java:225)<br>
at org.apache.axis.deployment.wsdd.WSDDDeployment.<init>(WSDDDeployment.java:191)<br>
  at org.apache.axis.deployment.wsdd.WSDDDocument.setDocument(WSDDDocument.java:139)<br>Etc�<br><br>While
this looks like a simple classpath issue I have tried everything<br>I can think of (and
every google and mailing list search I can think<br>of) I've added the axis jars to
the classpath of the jboss install<br>(using the jboss ide for eclipse) and to the tomcat
plugin lib<br>directory. The<br>> happy axis pages works fine and so do simple
web<br>services that require no serialization.<br><br>If anyone could help
with 
this I'd be very grateful. I've pasted the<br>relevant part of the wsdd and the wsdl
below.<br><br>Thanks,<br><br>Barry<br><br><br><br><br><!--
Services from fulfilOrderService WSDL service --><br><br>  <service name="fulfilOrderPort"
provider="java:RPC" style="document"<br>use="literal"><br>      <parameter
name="wsdlTargetNamespace"<br>value="http://new.webservice.namespace"/><br>
     <parameter name="wsdlServiceElement" value="fulfilOrderService"/><br>   
  <parameter name="wsdlServicePort" value="fulfilOrderPort"/><br>      <parameter
name="className"<br>value="namespace.webservice._new.FulfilOrderBindingImpl"/><br>
     <parameter name="wsdlPortType" value="fulfilOrderPort"/><br>      <parameter
name="typeMappingVersion" value="1.2"/><br>      <operation name="fulfilOrder"<br>>

qname="fulfilOrder"<br>returnQName="retNS:FulfilmentRequestSummary"<br>xmlns:retNS="http://new.webservice.namespace"<br>returnType="rtns:FulfilmentRequestType"<br>xmlns:rtns="http://new.webservice.namespace"
><br>        <parameter qname="pns:SalesOrder"<br>xmlns:pns="http://new.webservice.namespace"
type="tns:SalesOrderType"<br>xmlns:tns="http://new.webservice.namespace"/><br>
       <fault name="fulfilOrderFault" qname="fns:SOAFault"<br>xmlns:fns="http://new.webservice.namespace"<br>class="namespace.webservice._new.SOAFaultType"
type="tns:SOAFaultType"<br>xmlns:tns="http://new.webservice.namespace"/><br>
     </operation><br>      <parameter name="allowedMethods" value="fulfilOrder"/><br>
     <parameter name="scope" value="Application"/><br><br>      <typeMapping<br>
       xmlns:ns="http://new.webservice.namespace"<br>        qname="ns:SalesOrderType"<br>
       type="java:namespace.webservice._new.SalesOrderType"<br><br>> 
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"<br>        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"<br>
       encodingStyle=""<br>      /><br>      <typeMapping<br>    
   xmlns:ns="http://new.webservice.namespace"<br>        qname="ns:CustomerType"<br>
       type="java:namespace.webservice._new.CustomerType"<br>        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"<br>
       deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"<br>     
  encodingStyle=""<br>      /><br>      <typeMapping<br>        xmlns:ns="http://new.webservice.namespace"<br>
       qname="ns:FulfilmentRequestType"<br>        type="java:namespace.webservice._new.FulfilmentRequestType"<br>
       serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"<br>        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"<br>
       encodingStyle=""<br>      /><br>      <typeMapping<br><br>>

xmlns:ns="http://new.webservice.namespace"<br>        qname="ns:AddressType"<br>
       type="java:namespace.webservice._new.AddressType"<br>        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"<br>
       deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"<br>     
  encodingStyle=""<br>      /><br>      <typeMapping<br>        xmlns:ns="http://new.webservice.namespace"<br>
       qname="ns:SOAFaultType"<br>        type="java:namespace.webservice._new.SOAFaultType"<br>
       serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"<br>        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"<br>
       encodingStyle=""<br>      /><br>      <typeMapping<br>    
   xmlns:ns="http://new.webservice.namespace"<br>        qname="ns:LineItemGroupType"<br>
       type="java:namespace.webservice._new.LineItemGroupType"<br>        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"<br><br>>

deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"<br>        encodingStyle=""<br>
     /><br>      <typeMapping<br>        xmlns:ns="http://new.webservice.namespace"<br>
       qname="ns:LineItemType"<br>        type="java:namespace.webservice._new.LineItemType"<br>
       serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"<br>        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"<br>
       encodingStyle=""<br>      /><br>  </service><br><br><br>WSDL:<br><br><br><?xml
version="1.0" encoding="UTF-8"?><br><definitions 
xmlns="http://schemas.xmlsoap.org/wsdl/"<br>xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"<br>xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"<br>xmlns:xs="http://www.w3.org/2001/XMLSchema"<br>xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"<br>xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"<br>xmlns:y="http://new.webservice.namespace"<br>targetNamespace="http://new.webservice.namespace"><br><br>>
<types><br>             <xs:schema targetNamespace="http://new.webservice.namespace"><br>
                      <xs:element name="SalesOrder" type="y:SalesOrderType"/><br>
                    <xs:complexType name="AddressType"><br>                  
      <xs:sequence><br>                                       <xs:element name="addressLine1"
type="xs:string"/><br>                                  <xs:element name="addressLine2"
type="xs:string"/><br>                                  <xs:element name="addressLine3"
type="xs:string"/><br>                             
  
    <xs:element name="addressLine4" type="xs:string"/><br>                   
              <xs:element name="postcode" type="xs:string"/><br>             
                </xs:sequence><br>                      </xs:complexType><br>
                  <xs:complexType name="CustomerType"><br>                   
            <xs:sequence><br>                                       <xs:element
name="customerID" type="xs:string"/><br>                                    <xs:element
name="title" type="xs:string"/><br>                                 <xs:element
name="initial" type="xs:string"/><br>                                       <xs:element
name="familyName" type="xs:string"/><br>                                    <xs:element
name="emailAddress" type="xs:string"/><br>                                  <xs:element
name="notificationChannel" type="xs:string"/><br>                               
   <xs:element<br>> name="notificationFormat" type="xs:string"/><br>
                
  
              </xs:sequence><br>                      </xs:complexType><br>
                  <xs:complexType name="LineItemType"><br>                   
            <xs:sequence><br>                                       <xs:element
name="orderLineNo" type="xs:integer"/><br>                                  <xs:element
name="productID" type="xs:string"/><br>                                     <xs:element
name="quantity" type="xs:integer"/><br>                             </xs:sequence><br>
                     </xs:complexType><br>                   <xs:complexType
name="LineItemGroupType"><br>                           <xs:sequence><br>
                                      <xs:element name="lineItem" type="y:LineItemType"
maxOccurs="unbounded"/><br>                           </xs:sequence><br>
                     </xs:complexType><br>                   <xs:complexType
name="SalesOrderType"><br>                              <xs:sequence><br>
                              
  
       <xs:element name="orderID" type="xs:string"/><br>                     
                 <xs:element name="dateCreated" type="xs:date"/><br>         
                           <xs:element name="status" type="xs:string"/><br>  
                                     <xs:element name="customer" type="y:CustomerType"/><br>
                                <xs:element name="lineItems" type="y:LineItemGroupType"/><br>
                                  <xs:element name="shipToAddress"<br>> type="y:AddressType"/><br>
                                     <xs:element name="billToAddress" type="y:AddressType"/><br>
                            </xs:sequence><br>                      </xs:complexType><br>
                  <xs:element name="FulfilmentRequestSummary" type="y:FulfilmentRequestType"/><br>
                       <xs:complexType name="FulfilmentRequestType"><br>     
                         <xs:sequence><br>                                   
   <xs:element 
name="fulfilmentRequestID" type="xs:string"/><br>                               
   <xs:element name="dateCreated" type="xs:date"/><br>                       
             <xs:element name="status" type="xs:string"/><br>                
               </xs:sequence><br>                      </xs:complexType><br>
                  <xs:element name="SOAFault" type="y:SOAFaultType"/><br>    
            <xs:complexType name="SOAFaultType"><br>                         
      <xs:sequence><br>                                       <xs:element name="errorCode"
type="xs:string"/><br>                                     <xs:element name="errorDescription"
type="xs:string"/><br>                                      <xs:element name="errorDate"
type="xs:date"/><br>                                       <xs:element name="errorTime"
type="xs:time"/><br>                               </xs:sequence><br>
                     </xs:complexType><br>           </xs:schema><br>
       
</types><br>    <message name="fulfilOrderRequest"><br>         <part<br>>
name="request" element="y:SalesOrder"/><br>     </message><br>  <message
name="fulfilOrderResponse"><br>                <part name="response" element="y:FulfilmentRequestSummary"/><br>
       </message><br>  <message name="fulfilOrderFault"><br>     
     <part name="fault" element="y:SOAFault"/><br>   </message><br>
 <portType name="fulfilOrderPort"><br>           <operation name="fulfilOrder"><br>
                     <input message="y:fulfilOrderRequest"/><br>             
       <output message="y:fulfilOrderResponse"/><br>                   <fault
name="fulfilOrderFault" message="y:fulfilOrderFault"/><br>               </operation><br>
       </portType><br> <binding name="fulfilOrderBinding" type="y:fulfilOrderPort"><br>
               <soap:binding style="document"<br>transport="http://schemas.xmlsoap.org/soap/http"/><br>
               <operation name="fulfilOrder"><br>                      
<soap:operation/><br>                   <input><br>              
              <soap:body use="literal"/><br>                  </input><br>
                   <output><br>                            <soap:body use="literal"/><br>
                 </output><br>                   <fault name="fulfilOrderFault"><br>
                            <soap:fault name="fulfilOrderFault" use="literal"/><br><br>>
<br>>                </fault><br>            </operation><br>
       </binding><br>  <service name="fulfilOrderService"><br>   
     <port name="fulfilOrderPort" binding="y:fulfilOrderBinding"><br>        
               <soap:address location="http://localhost:8080/warehouse1/fulfillorder"/><br>
           </port><br>     </service><br></definitions><br><br>>
<br>> _______________________________________________<br>> <br>>
<br>><br>

_______________________________________________



Mime
View raw message