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 < [EMAIL PROTECTED] > wrote:
From: Barry Fitzgerald [mailto: [EMAIL PROTECTED]
To: [email protected], [EMAIL PROTECTED]
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, [EMAIL PROTECTED] <[EMAIL
PROTECTED]> 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 < [EMAIL PROTECTED] >
wrote:<br>> From: Barry Fitzgerald [mailto: [EMAIL PROTECTED]<br>> To:
[email protected]<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>
_______________________________________________