axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Boerkel (JIRA)" <axis-...@ws.apache.org>
Subject [jira] Commented: (AXIS-1308) Axis 1.2 beta and .NET 1.1: Problem with arrays
Date Mon, 09 May 2005 07:40:15 GMT
     [ http://issues.apache.org/jira/browse/AXIS-1308?page=comments#action_64732 ]
     
Thomas Boerkel commented on AXIS-1308:
--------------------------------------

Tried CVS: 

Now I get a new effect: NullPointerException in Axis:

java.lang.NullPointerException
        at java.lang.Class.isAssignableFrom(Native Method)
        at org.apache.axis.encoding.TypeMappingImpl.finalGetDeserializer(TypeMap
pingImpl.java:464)
        at org.apache.axis.encoding.TypeMappingDelegate.getDeserializer(TypeMapp
ingDelegate.java:114)
        at org.apache.axis.encoding.TypeMappingDelegate.getDeserializer(TypeMapp
ingDelegate.java:102)
        at org.apache.axis.encoding.DeserializationContext.getDeserializer(Deser
ializationContext.java:457)
        at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:255)
        at org.apache.axis.encoding.DeserializationContext.startElement(Deserial
izationContext.java:1035)
        at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
va:165)
        at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen
t.java:1140)
        at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
        at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
        at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider
.java:148)
        at com.apag.p2plus.p2tools.P2plusServer$AxisDispatcher.processMessage(P2
plusServer.java:2888)
        at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
319)
        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453
)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
        at com.apag.p2plus.p2tools.P2plusServer$Connection.handleAxisCall(P2plus
Server.java:1902)

We are using our own RPCProvider and have overwritten method processMessage() of RPCProvider.

We are calling super.processMessage() with these parameters:

MessageContext = MessageContext object

reqEnv = 
"<?xml version=\"1.0\" encoding=\"UTF-8\"?><soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"
xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:tns=\"http://p2test.p2plus.apag.com\"
xmlns:types=\"http://p2test.p2plus.apag.com/encodedTypes\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><soap:Body soap:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><tns:arrayTest><numbers
href=\"#id1\"/></tns:arrayTest><soapenc:Array id=\"id1\" soapenc:arrayType=\"xsd:int[3]\"><Item>5</Item><Item>6</Item><Item>7</Item></soapenc:Array></soap:Body></soap:Envelope>"

resEnv = 
"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n <soapenv:Body/>\n</soapenv:Envelope>"

obj = Java Object to call



> Axis 1.2 beta and .NET 1.1: Problem with arrays
> -----------------------------------------------
>
>          Key: AXIS-1308
>          URL: http://issues.apache.org/jira/browse/AXIS-1308
>      Project: Axis
>         Type: Bug
>   Components: Basic Architecture
>     Versions: 1.2 Beta
>  Environment: Windows 2000 server, JDK 1.4.2_03, .NET 1.1, Axis 1.2 Beta
>     Reporter: Thomas Boerkel
>     Assignee: Glen Daniels
>      Fix For: 1.2
>  Attachments: SoapTest_11RC2.wsdl, SoapTest_12Beta.wsdl, cdx.wsdl
>
> I was able to return an array from an Axis 1.1 RC2 server to a .NET 1.1 client without
problems. 
> With Axis 1.2 beta, the .NET client throws an exception:
> System.InvalidOperationException: There is an error in XMLdocument (5, 5). ---> System.InvalidOperationException:
The specified type as not recognized: name='string', namespace='http://schemas.xmlsoap.org/soap/encoding/',
at <arrayTestReturn xmlns=''>.
> I don't know, if this is a bug in Axis or .NET, but I think the interop is very important,
so even a workaround in Axis for a .NET bug should be considered, until MS fixes their bug.
> This is the response XML from Axis 1.1 RC2:
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>  <soapenv:Body>
>   <ns1:arrayTestResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://p2test.p2plus.apag.com">
>    <arrayTestReturn xsi:type="soapenc:Array" soapenc:arrayType="xsd:string[3]" xmlns:ns2="http://www.w3.org/2002/12/soap-encoding"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
>     <item>5</item>
>     <item>6</item>
>     <item>7</item>
>    </arrayTestReturn>
>   </ns1:arrayTestResponse>
>  </soapenv:Body>
> </soapenv:Envelope>
> And this from Axis 1.2 beta:
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>  <soapenv:Body>
>   <ns1:arrayTestResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://p2test.p2plus.apag.com">
>    <arrayTestReturn soapenc:arrayType="soapenc:string[3]" xsi:type="soapenc:Array"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
>     <item xsi:type="soapenc:string">5</item>
>     <item xsi:type="soapenc:string">6</item>
>     <item xsi:type="soapenc:string">7</item>
>    </arrayTestReturn>
>   </ns1:arrayTestResponse>
>  </soapenv:Body>
> </soapenv:Envelope>
> This is the Java method signature:
>   public String[] arrayTest(int[] numbers)
> We do not use deployment and we do not use Tomcat, but something like this:
>       axisServer = new AxisServer(new NullProvider());
>       axisServer.init();
>       msg = new Message(xml);
>       msgContext = new MessageContext(axisServer);
>       msgContext.setRequestMessage(msg);
>       service = getService(completeName);
>       msgContext.setService(service);
>       axisServer.invoke(msgContext);
>       msg = msgContext.getResponseMessage();
>       xml= msg.getSOAPPartAsString();
> If I use
> service.setStyle(Style.WRAPPED)
> service.setUse(Use.LITERAL)
> Then this is the response from Axis:
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>  <soapenv:Body>
>   <arrayTestResponse xmlns="http://p2test.p2plus.apag.com">
>    <arrayTestReturn>5</arrayTestReturn>
>    <arrayTestReturn>6</arrayTestReturn>
>    <arrayTestReturn>7</arrayTestReturn>
>   </arrayTestResponse>
>  </soapenv:Body>
> </soapenv:Envelope>
> and .NET returns NULL to the client code.
> Attaching Axis 1.1 RC2 WSDL and 1.2 Beta WSDL (almost identical, besides the namespace
desclaration).

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message