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 "Brian DePradine (JIRA)" <ji...@apache.org> on 2007/04/10 12:18:32 UTC
[jira] Updated: (AXIS2-2264) "org.apache.axis2.AxisFault: Incoming
message input stream is null" while engaging addressing module on client
side
[ https://issues.apache.org/jira/browse/AXIS2-2264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brian DePradine updated AXIS2-2264:
-----------------------------------
Component/s: (was: Addressing)
kernel
Assigning to a more appropriate component.
> "org.apache.axis2.AxisFault: Incoming message input stream is null" while engaging addressing module on client side
> -------------------------------------------------------------------------------------------------------------------
>
> Key: AXIS2-2264
> URL: https://issues.apache.org/jira/browse/AXIS2-2264
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: kernel
> Affects Versions: 1.1.1
> Environment: Linux Fedora fc5, tomcat 6.0.7, java1.5.0_11, Axis2 1.1.1
> Reporter: Federica Ciotti
> Attachments: AddService.java, Constants.java, MultiplyService.java, newCalc.aar
>
>
> My client class needs to engage addressing module.
> This is my client
> package calc1;
> public class RPC_MyCalcClient {
> public static void main(String[] args){
> try{
> EndpointReference targetEPR = new EndpointReference("http://localhost:8080/axis2/services/AddService/");
> EndpointReference myEPR = new EndpointReference("http://localhost:8080/axis2/services/clientService/");
> Options options = new Options();
> options.setTo(targetEPR);
> options.setReplyTo(myEPR);
> options.setFrom(myEPR);
> //options.setAction("addPrevious");
> options.setAction("add");
> options.setFrom(myEPR);
> options.setMessageId("Msg123");
>
> RPCServiceClient sender = new RPCServiceClient();
> sender.setOptions(options);
> sender.engageModule(new QName(Constants.MODULE_ADDRESSING));
> //add
> QName opAdd = new QName("http://calc/xsd", "add");
> Integer a = new Integer(1);
> Integer b = new Integer(2);
> Object[] params = new Object[] { a, b };
> Class[] returnTypes = new Class[] { Integer.class };
> Object[] response = sender.invokeBlocking(opAdd, params, returnTypes);
> Integer result = (Integer) response[0];
> if (result == null) {System.out.println("Null");}
> else System.out.println("Result "+ result.toString());
>
> //addPrev
> /*QName opAdd = new QName("http://calc/xsd", "addPrevious");
> Integer a = new Integer(1);
> Object[] params = new Object[] { a};
> Class[] returnTypes = new Class[] { Integer.class };
> Object[] response = sender.invokeBlocking(opAdd, params, returnTypes);
> Integer result = (Integer) response[0];
> if (result == null) {System.out.println("Null");}
> else System.out.println("Result "+ result.toString());*/
> }catch(AxisFault a){a.printStackTrace();}
> }
> }
> Even if the addressing module is in the classpath I get AxisFault.
> This is the exception i get trying to engage addressing module on client side
> org.apache.axis2.AxisFault: Incoming message input stream is null
> at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:64)
> at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:252)
> at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:202)
> at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:579)
> at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508)
> at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:95)
> at calc1.RPC_MyCalcClient.main(RPC_MyCalcClient.java:52)
> I noticed from SOAPMonitor that apart the AxisFault the request and response messages are correct but only the request one has the wsa header fields:
> SOAPRequest
> <?xml version='1.0' encoding='utf-8'?>
> <soapenv:Envelope xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> <soapenv:Header>
> <wsa:To>http://localhost:8080/axis2/services/AddService/</wsa:To>
> <wsa:ReplyTo>
> <wsa:Address>http://localhost:8080/axis2/services/clientService/</wsa:Address>
> </wsa:ReplyTo>
> <wsa:From>
> <wsa:Address>http://localhost:8080/axis2/services/clientService/</wsa:Address>
> </wsa:From>
> <wsa:MessageID>Msg123</wsa:MessageID>
> <wsa:Action>add</wsa:Action>
> </soapenv:Header>
> <soapenv:Body>
> <add xmlns="http://calc/xsd">
> <arg0 xmlns="">1</arg0>
> <arg1 xmlns="">2</arg1>
> </add>
> </soapenv:Body>
> </soapenv:Envelope>
> SOAPResponse
> <?xml version='1.0' encoding='utf-8'?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> <soapenv:Header />
> <soapenv:Body>
> <ns:addResponse xmlns:ns="http://calc/xsd">
> <ns:return>3</ns:return>
> </ns:addResponse>
> </soapenv:Body>
> </soapenv:Envelope>
> How can I get wsa fields in the SOAPResponse (addressing module is already engaged on service side and is the classpath) ?
> Dropping the engage instruction from the client code causes the exception to disappear but I have a wsaddressing=required in the services.xml.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org