Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 代码名一个web服务soap调用不工作_Java_Web Services_Soap_Codenameone - Fatal编程技术网

Java 代码名一个web服务soap调用不工作

Java 代码名一个web服务soap调用不工作,java,web-services,soap,codenameone,Java,Web Services,Soap,Codenameone,我想在单击登录按钮时使用基于SOAP的web服务。 我的代码如下 loginButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { Log.p(" CaterId : "+catererId.getText()); Log.p(" Username : "+loginId.getText()); Log.p(

我想在单击登录按钮时使用基于SOAP的web服务。 我的代码如下

loginButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
        Log.p(" CaterId : "+catererId.getText());
        Log.p(" Username : "+loginId.getText());
        Log.p(" Password : "+password.getText());

        final String InputParameter = "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:tem=\"http://tempuri.org/\">" 
                                       +"   <soap:Header/>" 
                                       +"   <soap:Body>" 
                                       +"      <tem:AuthenticateSupervisor>" 
                                       +"         <tem:username>TestAbhi</tem:username>" 
                                       +"         <tem:password>TestAbhi</tem:password>" 
                                       +"         <tem:caterer>calihanint</tem:caterer>" 
                                       +"      </tem:AuthenticateSupervisor>" 
                                       +"   </soap:Body>" 
                                       +"</soap:Envelope>";
        ConnectionRequest r= new ConnectionRequest() {

            @Override
            protected void buildRequestBody(OutputStream os) throws IOException {
                os.write(InputParameter.getBytes("UTF-8"));
            }

            @Override
            protected void postResponse() {
                //super.postResponse();
            }

            @Override
            protected void readResponse(InputStream input) throws IOException {
                //super.readResponse(input);
                XMLParser parser = new XMLParser();
                Element elem = parser.parse(new InputStreamReader(input));
                Log.p(" Came heer"+elem);
            }                
        };
        r.setUrl("http://192.168.10.224:8888/CXPPostScheduleService/Service.asmx");
        r.setPost(false);
        /*r.addArgument("username", "TestAbhi");
        r.addArgument("password", "TestAbhi");
        r.addArgument("caterer", "calihanint");*/
        r.setContentType("application/soap+xml;charset=UTF-8");
        NetworkManager.getInstance().addToQueueAndWait(r);
        r.getResponseData();
    }
});
loginButton.addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件evt){
Log.p(“CaterId:+catererId.getText());
Log.p(“用户名:+loginId.getText());
Log.p(“密码:+Password.getText());
最终字符串InputParameter=“”
+"   " 
+"   " 
+"      " 
+“TestAbhi”
+“TestAbhi”
+“卡利哈宁”
+"      " 
+"   " 
+"";
ConnectionRequest r=新的ConnectionRequest(){
@凌驾
受保护的void buildRequestBody(OutputStream os)引发IOException{
写入(InputParameter.getBytes(“UTF-8”);
}
@凌驾
受保护的void postResponse(){
//super.postResponse();
}
@凌驾
受保护的void readResponse(InputStream输入)引发IOException{
//super.readResponse(输入);
XMLParser=新的XMLParser();
elem=parser.parse(新的InputStreamReader(input));
Log.p(“come-heer”+elem);
}                
};
r、 setUrl(“http://192.168.10.224:8888/CXPPostScheduleService/Service.asmx");
r、 setPost(假);
/*r、 addArgument(“用户名”、“测试参数”);
r、 addArgument(“密码”、“测试参数”);
r、 addArgument(“餐饮服务商”、“calihanint”)*/
r、 setContentType(“应用程序/soap+xml;字符集=UTF-8”);
NetworkManager.getInstance().addToQueueAndWait(r);
r、 getResponseData();
}
});

它显示一个html文件作为响应。您能帮我检查一下我在这段代码中犯了什么错误吗。

我想您需要一个post请求,请尝试:

r.setPost(true);
如果您是从设备调用此功能,请确保设备与服务器位于同一网络中,否则无法访问NAT本地地址。请注意,如果服务器托管在其他位置而不是您的计算机上,则这也适用于模拟器


我还建议检查服务器日志、错误响应代码并发布错误HTML。您可以使用模拟器中的网络监视器工具进一步调试此功能。

添加了一些附加选项