编程语言
首页 > 编程语言> > 尝试通过Java设置用户名和密码向SOAP WsdlRequest提交请求时的ClientProtocolException

尝试通过Java设置用户名和密码向SOAP WsdlRequest提交请求时的ClientProtocolException

作者:互联网

我的目的是使用给定的wsdl URL创建一个Soap UI项目,保存它并通过Java方法发送所有请求.我收到org.apache.http.client.ClientProtocolException …..由以下原因引起:org.apache.http.ProtocolException:当我尝试通过设置操作的用户名和密码来提交请求时,Content-Length标头已经出现错误.找到我的Java方法来发送请求.

public void runSoap() throws Exception
{
        String projectFile = "SoapUIProjects/TestProjectA-soapui-project.xml";
    SoapUI.setSoapUICore(new StandaloneSoapUICore(true));
    WsdlProject project = new WsdlProject(projectFile);

    int c = project.getInterfaceCount();
    System.out.println("The interface count   ="+c);

    for(int i=0;i<c;i++)
    {
        WsdlInterface wsdl = (WsdlInterface) project.getInterfaceAt(i);
        String soapVersion = wsdl.getSoapVersion().toString();
        int opc = wsdl.getOperationCount();
        String result="";

        for(int j=0;j<opc;j++)
        {
            WsdlOperation op = wsdl.getOperationAt(j);
                String opName = op.getName();
                System.out.println("OPERATION:"+opName);

                WsdlRequest req = op.getRequestByName("Req_"+soapVersion+"_"+opName);

                //Assigning correct u/p to an operation: Generate
                if(opName.equals("Generate"))
                {
                    System.out.println("The operation is Generate.");
                    req.setUsername("u1");//Setting username
                    req.setPassword("u1");//Setting password
               }

               WsdlSubmitContext wsdlSubmitContext = new WsdlSubmitContext(req);
               WsdlSubmit<?> submit = (WsdlSubmit<?>) req.submit(wsdlSubmitContext, false);
               Response response = submit.getResponse();
               result = response.getContentAsString();
               System.out.println("The result ="+result);
        }
    }
}

另请参阅附图.有人可以告诉我哪里出错了以及如何解决这个问题?

解决方法:

我得到了我的问题的答案.
我必须明确地和编程地设置’授权类型’,这样做的代码是这样的 –
req.setAuthType( “抢先”);

通过这个,请求被发送,我没有任何例外.

标签:java,soapui
来源: https://codeday.me/bug/20190715/1468298.html