You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Paul Meier (JIRA)" <ax...@ws.apache.org> on 2005/01/26 16:56:21 UTC
[jira] Updated: (AXIS-1781) MarshalException, when calling AXIS webservice function from J2ME
[ http://issues.apache.org/jira/browse/AXIS-1781?page=history ]
Paul Meier updated AXIS-1781:
-----------------------------
Attachment: hallo.jws
> MarshalException, when calling AXIS webservice function from J2ME
> -----------------------------------------------------------------
>
> Key: AXIS-1781
> URL: http://issues.apache.org/jira/browse/AXIS-1781
> Project: Axis
> Type: Bug
> Components: WSDL processing
> Versions: 1.1
> Environment: Windows XP SP1, Tomcat 5, Sun WTK 2.1, Axis 1.1, J2ME, JSR-172
> Reporter: Paul Meier
> Attachments: WSTest WTKProject.rar, hallo.class, hallo.jws, hallo.wsdl
>
> Hallo,
> I'm a beginner to webservices with Apache Axis. For a project with J2ME that should use webservice functions I wanted to test an little webservice with Axis and the Sun WTK 2.1.
> The name of the test class is hallo.java and was renamed to hallo.jws and placed in the webapps\axis folder of Tomcat.
> It contains following code:
> public class hallo {
> public int hallo2(String input, int i) {
> System.out.println("input " + input + " " + i);
> return (i);
> }
> }
> Nothing special as you see. The testing of this service in a java client on pc worked fine, after creating the needed stubs of course.
> To generate the doc/lit style WSDL file for the Sun WTK 2.1 stub generator I used folowing command
> java -cp ".\axis.jar;.\commons-logging.jar;.\commons-discovery.jar;.\saaj.jar;.\wsdl4j.jar;.\jaxrpc.jar;." org.apache.axis.wsdl.Java2WSDL -l "http://localhost:8080/axis/hallo.jws" -y WRAPPED -u LITERAL hallo
> That worked fine and the wsdl file with following content was created:
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions targetNamespace="http://DefaultNamespace" xmlns:impl="http://DefaultNamespace" xmlns:intf="http://DefaultNamespace" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/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:types>
> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://DefaultNamespace">
> <element name="hallo2">
> <complexType>
> <sequence>
> <element name="input" type="xsd:string"/>
> <element name="i" type="xsd:int"/>
> </sequence>
> </complexType>
> </element>
> <element name="hallo2Response">
> <complexType>
> <sequence>
> <element name="hallo2Return" type="xsd:int"/>
> </sequence>
> </complexType>
> </element>
> </schema>
> </wsdl:types>
> <wsdl:message name="hallo2Request">
> <wsdl:part name="parameters" element="impl:hallo2"/>
> </wsdl:message>
> <wsdl:message name="hallo2Response">
> <wsdl:part name="parameters" element="impl:hallo2Response"/>
> </wsdl:message>
> <wsdl:portType name="hallo">
> <wsdl:operation name="hallo2" parameterOrder="">
> <wsdl:input name="hallo2Request" message="impl:hallo2Request"/>
> <wsdl:output name="hallo2Response" message="impl:hallo2Response"/>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="halloSoapBinding" type="impl:hallo">
> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="hallo2">
> <wsdlsoap:operation soapAction=""/>
> <wsdl:input name="hallo2Request">
> <wsdlsoap:body use="literal" namespace="http://DefaultNamespace"/>
> </wsdl:input>
> <wsdl:output name="hallo2Response">
> <wsdlsoap:body use="literal" namespace="http://DefaultNamespace"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="halloService">
> <wsdl:port name="hallo" binding="impl:halloSoapBinding">
> <wsdlsoap:address location="http://localhost:8080/axis/hallo.jws"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
> The stub generation generated the needed stubs for the midlet, but 2 errors occured:
> warning: R2716 WSI-BasicProfile ver. 1.0, namespace attribute not allowed in doc/lit for soapbind:body: "hallo2"
> warning: R2716 WSI-BasicProfile ver. 1.0, namespace attribute not allowed in doc/lit for soapbind:body: "hallo2"
> The deletion of " namespace="http://DefaultNamespace" " in the wsdl file led to stub generation of "hallostub" in src folder without am error message.
> The midlet source WSTest.java is almost the same like the example of AxisUserTest last year. The only changes are the
> import of the hallostub package, the creation of an object of class Hallo named hallo and initialized with hallo = new Hallo_Stub(); and the function call
> int result = hallo.hallo2("GoodMorning!", 6);
> System.out.println("Ergebnis: " + result);
> String text = "Result is " + result + ".";
> Alert a = new Alert("Result", text, null, AlertType.CONFIRMATION); .
> The compilation and packaging (with j2me-ws.jar in lib) worked fine but in neither the SUN emulator or other emulators like Siemens CX65 or Nokia S40 or S60, the response to the webservice could be received.
> For instance the Sun emulator sais after calling the service:
> java.rmi.MarshalException: Invalid Element in Response: hallo2Return
> at hallostub.Hallo_Stub.hallo2(+82)
> at WSTest.run(+13)
> The tomcat output windows shows after calling the service:
> input GoodMorning! 6
> I conclude that the webservice has been called correctly, but the answer can not be understood by the midlet.
> How can this be solved?
> Thank you very much for your help.
> Paul
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira