-1

我正在尝试调用SOAP Web Servicein android inRestful方法。

DefaultHttpClient client=new DefaultHttpClient();
HttpHost targetHost=new HttpHost("87.11.9.26", 8000, "http");
client.getCredentialsProvider()  
.setCredentials(new AuthScope(targetHost.getHostName(),  
                targetHost.getPort()),  
                new UsernamePasswordCredentials("abcdefg","*******"));
BasicScheme basicAuth=new BasicScheme();
BasicHttpContext localcontex=new BasicHttpContext();
localcontex.setAttribute(ClientContext.AUTH_SCHEME_PREF, basicAuth);
HttpGet request=new HttpGet("http://87.11.9.26:8000/sap/bc/srt/rfc/  
sap/zmaterials_group_list/800/zmaterials_group_list/zmaterials_group_list_bind/");

ResponseHandler<String> handler=new BasicResponseHandler();
try {
     System.out.println("**********target host is****************"+targetHost);
     System.out.println("**********request is****************"+request);
     result=client.execute(targetHost, request, handler);
     System.out.println("**************************"+result);
     // client.getConnectionManager().shutdown();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

然后它给出了例外

org.apache.http.client.HttpResponseException: SRT: Unexpected failure in SOAP  
processing occurred: ("No Web service configuration for this  
 access path: "/sap/bc/srt/rfc/sap/zmaterials_group_list/800/zmat"")

请帮助我在哪里做错了。在此先感谢。

4

1 回答 1

0

SOAP 和 REST 是完全不同的原则。/sap/bc/srt/rfc是 RFC 的 SOAP 运行时前缀,它要求您提供格式正确的 SOAP 请求,遵守 WSDL/模式等。我可能错了,但我怀疑您是否能够使用此适配器提供 RESTful 服务。zmaterials_group_list如果您想使用 RESTful 服务,您(或编写该功能模块的人)将必须实现自己的 ICF HTTP 处理程序。

话虽如此,请检查配置 ( SICF) 中的服务路径,并确保您尝试调用的服务存在并启用。还要检查是否正确配置了WS 运行时。

于 2012-08-21T12:29:18.937 回答