axis + android error:org.apache.axis2.engine.DispatchPhase.checkPostConditions

时间:2013-06-10 11:02:27

标签: android apache axis2 wso2

我开发了Android应用程序,它通过apache axis 2 web服务与DB通信。 我的其他方法正确运行。但我的新方法 MySalesAll 未调用并出错。 请帮我解决这个问题。感谢

[ERROR] The endpoint reference (EPR) for the Operation not found is http://172.16.20.240:8080/axis2/services/TSR_WEB_SERVICE and the WSA Action = http://mainSer
vice/MySalesAll. If this EPR was previously reachable, please contact the server administrator.
org.apache.axis2.AxisFault: The endpoint reference (EPR) for the Operation not found is http://172.16.20.240:8080/axis2/services/TSR_WEB_SERVICE and the WSA Act
ion = http://mainService/MySalesAll. If this EPR was previously reachable, please contact the server administrator.
        at org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:102)
        at org.apache.axis2.engine.Phase.invoke(Phase.java:329)
        at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168)
        at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
        at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)
[WARN] Deprecated usage of OMElement#declareNamespace(String,String) with empty prefix
上面的

显示了我的错误 下面是我的Android应用程序中的代码。我用ksoap来完成那项任务

private static String SOAP_ACTION = "http://mainService/MySalesAll";
private static String NAMESPACE = "http://mainService";
private static String METHOD_NAME = "MySalesAll";
private static String URL = "http://172.xx.xx.xxx:8080/axis2/services/LKB_WEB_SERVICE?wsdl";

...

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
        SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
envelope.dotNet = true;
try {
    HttpTransportSE androidHttpTransport = new HttpTransportSE(
            URL);
    androidHttpTransport.call(
            SOAP_ACTION, envelope);//ERROR comes in this line when debug
    SoapObject result = (SoapObject) envelope.bodyIn;
下面的

显示了我的Web服务中的代码片段

public String MySalesAllDetails(String strInputUserMobile,
        String strInputUserName, String strInputUserPassword,
        String strFromDate, String strToDate, String city) {

    String stringResult = new Sales().getMySalesAll(strInputUserMobile,
            strInputUserName, strInputUserPassword, strFromDate, strToDate,
            city).toString();
    System.out.println("HERE IS THE RESULT" + stringResult);

1 个答案:

答案 0 :(得分:1)

错误清楚地表明您的新方法无法访问,请使用您的新方法检查您的wsdl是否已更新。