从另一个运行在同一WSo2 ESB服务器上的Axis2中使用一个Axis2 Web服务

时间:2012-04-06 18:52:22

标签: web service wso2 axis2 wso2esb

在从另一个使用Axis2 Web服务时,是否有任何人经历过以下操作?两者都托管在相同的Wso2 ESB实例(4.0.3)上。我无法弄清楚出了什么问题,顺便说一下这些是Wso2安装附带的2个示例服务,我刚刚添加了代码来消费。这是片段:

public GetQuoteResponse getSimpleQuote(String symbol) {
            System.out.println(new Date() + " " + this.getClass().getName() +
                " :: Generating quote for : " + symbol);
            try {
                EchoStub stub = new EchoStub();
                new EchoString();
                EchoString es = new EchoString();
                es.setIn("Hello");
                EchoStringResponse resp = stub.echoString(es);

            } catch (AxisFault e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (RemoteException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return new GetQuoteResponse(symbol);
        }

服务类:

package org.wso2.carbon.core.services.echo;

import javax.xml.namespace.QName;
import org.apache.axiom.om.OMAbstractFactory;
  import org.apache.axiom.om.OMElement;
  import org.apache.axiom.om.OMFactory;
  import org.apache.axis2.AxisFault;

  public class Echo
  {
    public OMElement echoOMElement(OMElement omEle)
    {
     return omEle;
    }

     public String echoString(String in) {
     return in;
    }

  public int echoInt(int in) {
    return in;
  }

  public String throwAxisFault() throws AxisFault
  {
    OMFactory fac = OMAbstractFactory.getOMFactory();
    OMElement ele = fac.createOMElement("wso2wsas", fac.createOMNamespace("", ""));
    ele.setText("This is a method which simply throws an AxisFault");

    throw new AxisFault(new QName("wso2wsas_code"), "This is a method which simply throws an AxisFault", "wso2_node", "admin", ele);
  }

  public SimpleBean echoStringArrays(String[] a, String[] b, int c)
  {
    SimpleBean bean = new SimpleBean();
    bean.setA_r(a);
    bean.setB_r(b);
    bean.setC(c);

    return bean;
  }
}

Fri Apr 06 14:22:08 EDT 2012 samples.services.SimpleStockQuoteService :: Generating quote for : AB
org.apache.axis2.AxisFault: The input stream for an incoming message is null.
        at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:92)
        at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)
        at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354)
        at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
        at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
        at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
        at org.wso2.carbon.core.services.echo.EchoStub.echoString(EchoStub.java:233)
        at samples.services.SimpleStockQuoteService.getSimpleQuote(SimpleStockQuoteService.java:52)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
        at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117)
        at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
        at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
        at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
        at org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:409)
        at org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:261)
        at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
[2012-04-06 14:22:08,922] ERROR - AxisEngine Message Receiver not found for AxisOperation: {http://echo.services.core.carbon.wso2.org}echoString
org.apache.axis2.AxisFault: Message Receiver not found for AxisOperation: {http://echo.services.core.carbon.wso2.org}echoString
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:177)
        at org.apache.synapse.transport.nhttp.ClientWorker.run(ClientWorker.java:275)
        at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
[2012-04-06 14:22:08,922]  WARN - ClientWorker Fault processing response message through Axis2: Message Receiver not found for AxisOperation: {http://echo.services.core.carbon.wso2.org}echoString
[2012-04-06 14:22:08,922] ERROR - NativeWorkerPool Uncaught exception
java.lang.NullPointerException
        at org.apache.synapse.transport.nhttp.ClientWorker.run(ClientWorker.java:298)
        at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)

0 个答案:

没有答案