【发布时间】:2011-10-21 12:07:51
【问题描述】:
apache.axis2.AxisFault:传输错误:401 错误:调用部署在 Tomcat 6.0.13 上的 web 服务时出现未经授权的异常,请查找堆栈跟踪,如下所示:log4j:WARN No appenders could be found for logger (org.apache .axis2.description.AxisService)。 log4j:WARN 请正确初始化 log4j 系统。 HSYS:sysuser00:10.112.209.51:6500:null:80:null [SO_TIMEOUT,_NTLM_DIGEST_BASIC_AUTHENTICATION_] 300000 org.apache.axis2.transport.http.HttpTransportProperties$Authenticator@fc9944 HSYS:sysuser00 org.apache.axis2.AxisFault:传输错误: 401 错误:在 org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:190) 在 org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:190) 在 org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:296) 未经授权.axis2.transport.http.HTTPSender.send(HTTPSender.java:75) 在 org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:371) 在 org.apache.axis2.transport.http.CommonsHTTPTransportSender .invoke(CommonsHTTPTransportSender.java:209) 在 org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:435) 在 org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402) 在 org. org.apa 的 apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) che.axis2.client.OperationClient.execute(OperationClient.java:165) 在 com.test.CmPersonUpServiceStub.cmPersonUp(CmPersonUpServiceStub.java:228) 在 com.test.CmPersonUpServiceTest.testcmPersonUp(CmPersonUpServiceTest.java:69) 在 com.test .CmPersonUpServiceTest.main(CmPersonUpServiceTest.java:85) --------------------------------------- -------------------------------------------------- ------------------------- `请找到我的测试调用类如下:
/**
* CmPersonUpServiceTest.java
*
* This file was auto-generated from WSDL
* by the Apache Axis2 version: 1.5 Built on : Apr 30, 2009 (06:07:24 EDT)
*/
package com.test;
import java.util.ArrayList;
import java.util.List;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.axis2.transport.http.HttpTransportProperties;
import org.apache.axis2.transport.http.HttpTransportProperties.Authenticator;
import com.oracle.cmpersonup_xsd.CmPersonUp;
/*
* CmPersonUpServiceTest Junit test case
*/
public class CmPersonUpServiceTest {
/**
* Auto generated test method
*/
public void testcmPersonUp() throws java.lang.Exception{
com.test.CmPersonUpServiceStub stub =
new com.test.CmPersonUpServiceStub();//the default implementation should point to the right endpoint
Options opt = stub._getServiceClient().getOptions();
EndpointReference epr = new EndpointReference("http://10.112.209.51:6500/spl/XAIApp/xaiserver/CmPersonUp");
opt.setTo(epr);
opt.setProperty(HTTPConstants.SO_TIMEOUT, new Integer(300000));
HttpTransportProperties.Authenticator authenticator = new HttpTransportProperties.Authenticator();
List<String> auth = new ArrayList<String>();
auth.add(Authenticator.BASIC);
authenticator.setAuthSchemes(auth);
authenticator.setUsername("HSYS");
authenticator.setPassword("sysuser00");
authenticator.setHost("10.112.209.51:6500");
authenticator.setPort(80);
authenticator.setPreemptiveAuthentication(true);
opt.setProperty(HTTPConstants.AUTHENTICATE, authenticator);
stub._getServiceClient().setOptions(opt);
Options opt1 = stub._getServiceClient().getOptions();
if(opt1.getProperty(HTTPConstants.AUTHENTICATE)!=null){
Authenticator authenticator1=(Authenticator)opt1.getProperty(HTTPConstants.AUTHENTICATE);
System.out.println(authenticator1.getUsername()+" : "+authenticator1.getPassword()+" : "+authenticator1.getHost()+" : "+authenticator1.getDomain()+" : "+authenticator1.getPort()+" : "+authenticator1.getRealm());
}
else System.out.println("opt1.getProperty(HTTPConstants.AUTHENTICATE); is null ");
com.oracle.cmpersonup_xsd.CmPersonUp cmPersonUp5=
(com.oracle.cmpersonup_xsd.CmPersonUp)getTestObject(com.oracle.cmpersonup_xsd.CmPersonUp.class);
// TODO : Fill in the cmPersonUp5 here
cmPersonUp5.setPersonId("0272100000");
cmPersonUp5.setPersonEmailId("vinay.bhar@hcl.com");
cmPersonUp5.setFaultStyle("wsdl");
CmPersonUp response=stub.cmPersonUp(cmPersonUp5);
System.out.println(response.getPersonEmailId()+" ------>>>>>> "+response.getPersonId()+" ------->>>>>>> "+response.getPersonBirthDay());
}
//Create an ADBBean and provide it as the test object
public org.apache.axis2.databinding.ADBBean getTestObject(java.lang.Class type) throws java.lang.Exception{
return (org.apache.axis2.databinding.ADBBean) type.newInstance();
}
public static void main(String[] args) {
CmPersonUpServiceTest test = new CmPersonUpServiceTest();
try {
test.testcmPersonUp();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
请在这件事上提供您的帮助。`
【问题讨论】:
标签: web-services webservice-client wsdl2java