Hi,
I have created a webservice and deployed it on jboss. The webservice has three
different methods.
Testing the business-methods: sayHello is OK, meetAnimal is not OK,
createAnimal is not OK, too.
Any ideas what's going wrong?
How can I prevent: could not find deserializer and No serializer found for
class?
String meetAnimal(Animal) delivers the following error message:
| AxisFault
| faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
| faultSubcode:
| faultString: Deserializing parameter 'in0': could not find deserializer
for type {http://Hello}Animal
| faultActor:
| faultNode:
| faultDetail:
| {http://xml.apache.org/axis/}stackTrace:AxisFault
| faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
| faultSubcode:
| faultString: Deserializing parameter 'in0': could not find deserializer
for type {http://Hello}Animal
| faultActor:
| faultNode:
| faultDetail:
|
| Deserializing parameter 'in0': could not find deserializer for type
{http://Hello}Animal
| at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:262)
| at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:169)
Animal createAnimal(ing, String) delivers following error message:
| AxisFault
| faultCode: {http://xml.apache.org/axis/}HTTP
| faultSubcode:
| faultString: (500)Internal Server Error
| faultActor:
| faultNode:
| faultDetail:
| {}:return code: 500
| [...]
| The server encountered an internal error () that prevented it from
| fulfilling this request.</u></p><p><b>exception</b>
| <pre>org.jboss.axis.AxisFault: No serializer found for class
| tutorial.interfaces.Animal in registry
| [EMAIL PROTECTED]
| org.jboss.axis.AxisFault.makeFault(AxisFault.java:99)
| org.jboss.axis.MessagePart.writeTo(MessagePart.java:303)
| org.jboss.axis.MessagePart.getAsString(MessagePart.java:591)
| org.jboss.axis.MessagePart.getAsBytes(MessagePart.java:447)
| org.jboss.axis.Message.getContentType(Message.java:471)
| org.jboss.axis.transport.http.AxisServlet.doPost(AxisServlet.java:971)
| javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
|
org.jboss.axis.transport.http.AxisServletBase.service(AxisServletBase.java:370)
| javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
|
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
| </pre></p><p><b>note</b> <u>The full stack trace of the root cause
| is available in the Apache Tomcat/5.5.9 logs.</u></p><HR size="1"
| noshade="noshade"><h3>Apache Tomcat/5.5.9</h3></body></html>
| {http://xml.apache.org/axis/}HttpErrorCode:500
|
My test-client:
| package tutorial.testing;
| import java.net.URL;
| import javax.xml.namespace.QName;
| import javax.xml.rpc.Service;
| import javax.xml.rpc.ServiceFactory;
|
| public class WSClient {
| public static void main(String[] args) throws Exception {
| URL url = new
URL("http://ga_server:8080/TutorialCustom/TutorialHelloEndpoint?wsdl");
| QName qname = new QName("http://Hello",
"TutorialHelloEndpointService");
| ServiceFactory factory = ServiceFactory.newInstance();
| Service service = factory.createService(url, qname);
| TutorialHelloEndpoint endpoint = (TutorialHelloEndpoint)
service.getPort(TutorialHelloEndpoint.class);
|
| // testing business-method: String sayHello(String)
| String sayHelloVal = endpoint.sayHello("Wuff");
| System.out.println(sayHelloVal);
|
| // testing business-method: String meetAnimal(Animal)
| Animal myDog = new Animal();
| myDog.setAge(10);
| myDog.setName("Goofy");
| String meetAnimalVal = endpoint.meetAnimal(myDog);
| System.out.println(meetAnimalVal);
|
| // testing business-method: Animal createAnimal(int, String)
| Animal yourDog = endpoint.createAnimal(12,"Lassie");
| System.out.println("Your dog " + yourDog.getName() + " is " +
yourDog.getAge() + " years old.");
| }
| }
| /**
| * TutorialHelloEndpoint.java
| *
| * This file was auto-generated from WSDL
| * by the Apache Axis 1.2alpha Dec 01, 2003 (04:33:24 EST) WSDL2Java
emitter.
| */
|
| package tutorial.testing;
|
| public interface TutorialHelloEndpoint extends java.rmi.Remote {
| public java.lang.String sayHello(java.lang.String in0) throws
java.rmi.RemoteException;
| public java.lang.String meetAnimal(tutorial.testing.Animal in0) throws
java.rmi.RemoteException;
| public tutorial.testing.Animal createAnimal(int in0, java.lang.String
in1) throws java.rmi.RemoteException;
| }
|
My wsdl-file:
| <?xml version="1.0" encoding="UTF-8"?>
| <wsdl:definitions targetNamespace="http://Hello"
| xmlns:impl="http://Hello" xmlns:intf="http://Hello"
| xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
| xmlns:apachesoap="http://xml.apache.org/xml-soap"
| xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
| xmlns:xsd="http://www.w3.org/2001/XMLSchema"
| xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
| xmlns="http://schemas.xmlsoap.org/wsdl/">
| <!--WSDL created by Apache Axis version: 1.2
| Built on May 03, 2005 (02:20:24 EDT)-->
| <wsdl:types>
| <schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://Hello">
| <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
| <complexType name="Animal">
| <sequence>
| <element name="age" type="xsd:int"/>
| <element name="name" nillable="true" type="soapenc:string"/>
| </sequence>
| </complexType>
| </schema>
| </wsdl:types>
| <wsdl:message name="sayHelloRequest">
| <wsdl:part name="in0" type="soapenc:string"/>
| </wsdl:message>
| <wsdl:message name="meetAnimalRequest">
| <wsdl:part name="in0" type="impl:Animal"/>
| </wsdl:message>
| <wsdl:message name="sayHelloResponse">
| <wsdl:part name="sayHelloReturn" type="soapenc:string"/>
| </wsdl:message>
| <wsdl:message name="createAnimalResponse">
| <wsdl:part name="createAnimalReturn" type="impl:Animal"/>
| </wsdl:message>
| <wsdl:message name="meetAnimalResponse">
| <wsdl:part name="meetAnimalReturn" type="soapenc:string"/>
| </wsdl:message>
| <wsdl:message name="createAnimalRequest">
| <wsdl:part name="in0" type="xsd:int"/>
| <wsdl:part name="in1" type="soapenc:string"/>
| </wsdl:message>
| <wsdl:portType name="TutorialHelloEndpoint">
| <wsdl:operation name="sayHello" parameterOrder="in0">
| <wsdl:input name="sayHelloRequest" message="impl:sayHelloRequest"/>
| <wsdl:output name="sayHelloResponse"
message="impl:sayHelloResponse"/>
| </wsdl:operation>
| <wsdl:operation name="meetAnimal" parameterOrder="in0">
| <wsdl:input name="meetAnimalRequest"
message="impl:meetAnimalRequest"/>
| <wsdl:output name="meetAnimalResponse"
message="impl:meetAnimalResponse"/>
| </wsdl:operation>
| <wsdl:operation name="createAnimal" parameterOrder="in0 in1">
| <wsdl:input name="createAnimalRequest"
message="impl:createAnimalRequest"/>
| <wsdl:output name="createAnimalResponse"
message="impl:createAnimalResponse"/>
| </wsdl:operation>
| </wsdl:portType>
| <wsdl:binding name="TutorialHelloEndpointPortSoapBinding"
type="impl:TutorialHelloEndpoint">
| <wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
| <wsdl:operation name="sayHello">
| <wsdlsoap:operation soapAction=""/>
| <wsdl:input name="sayHelloRequest">
| <wsdlsoap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://Hello"/>
| </wsdl:input>
| <wsdl:output name="sayHelloResponse">
| <wsdlsoap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://Hello"/>
| </wsdl:output>
| </wsdl:operation>
| <wsdl:operation name="meetAnimal">
| <wsdlsoap:operation soapAction=""/>
| <wsdl:input name="meetAnimalRequest">
| <wsdlsoap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://Hello"/>
| </wsdl:input>
| <wsdl:output name="meetAnimalResponse">
| <wsdlsoap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://Hello"/>
| </wsdl:output>
| </wsdl:operation>
| <wsdl:operation name="createAnimal">
| <wsdlsoap:operation soapAction=""/>
| <wsdl:input name="createAnimalRequest">
| <wsdlsoap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://Hello"/>
| </wsdl:input>
| <wsdl:output name="createAnimalResponse">
| <wsdlsoap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://Hello"/>
| </wsdl:output>
| </wsdl:operation>
| </wsdl:binding>
| <wsdl:service name="TutorialHelloEndpointService">
| <wsdl:port name="TutorialHelloEndpointPort"
binding="impl:TutorialHelloEndpointPortSoapBinding">
| <wsdlsoap:address
location="http://this.value.is.replaced.by.jboss"/>
| </wsdl:port>
| </wsdl:service>
| </wsdl:definitions>
|
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3879534#3879534
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3879534
-------------------------------------------------------
This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user