当前位置: 代码迷 >> Java Web开发 >> java中调用.net webservice出现(400)Bad Request异常
  详细解决方案

java中调用.net webservice出现(400)Bad Request异常

热度:1819   发布时间:2013-02-25 21:21:26.0
java中调用.net webservice出现(400)Bad Request错误
代码如下:
Java code
package com.how.client;import javax.xml.namespace.QName;import javax.xml.rpc.ParameterMode;import org.apache.axis.Constants;import org.apache.axis.client.Call;import org.apache.axis.client.Service;public class ClientTest {    public static void main(String[] args) {                String url="http://119.97.200.187/WebServiceJyzx.asmx?wsdl";          String namespace = "http://tempuri.org/";          String methodName = "Getbdxx";          String soapActionURI = "http://tempuri.org/Getbdxx";          Service service = new Service();          try{        Call call = (Call) service.createCall();          call.setTargetEndpointAddress(new java.net.URL(url));          call.setUseSOAPAction(true);          call.setSOAPActionURI(soapActionURI);          call.setOperationName(new QName(namespace, methodName));          call.addParameter(new QName(namespace,"42010520091124008"),Constants.XSD_STRING,ParameterMode.IN);        call.setReturnType(Constants.XSD_STRING);          String ret = (String) call.invoke(new Object[]{"222"});          System.out.println("返回结果---> " + ret);        }catch(Exception e){            e.printStackTrace();        }        }}


出现下面的错误:
AxisFault
 faultCode: {http://xml.apache.org/axis/}HTTP
 faultSubcode: 
 faultString: (400)Bad Request
 faultActor: 
 faultNode: 
 faultDetail: 
{}:return code: 400

{http://xml.apache.org/axis/}HttpErrorCode:400

(400)Bad Request
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.how.client.ClientTest.main(ClientTest.java:27)

------解决方案--------------------------------------------------------
楼主,建议你先试用myeclipse自带的webservice客户端工具,看看是不是这个服务本身存在问题。排除这个问题后,再继续和楼主讨论。
  相关解决方案