2011-10-21 52 views
0

apache.axis2.AxisFault:トランスポートエラー:401エラー:Tomcat 6.0.13にデプロイされたwebserviceを呼び出す際に許可されていない例外が見つかりました。スタックトレースは以下のようになります:log4j:WARN 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.ap[email protected]fc9944 HSYS:sysuser00 org.apache.axis2.AxisFault:トランスポートエラー: 401エラー:org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:296)at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:190)at org.apache org.apache.axis2.transport.http.CommonsHTTPTransportSenderでorg.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommonsで.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)(CommonsHTTPTransportSender.java:371) ORGでorg.apache.axis2.description.OutInAxisOperationClient.sendでorg.apache.axis2.engine.AxisEngine.send(AxisEngine.java:435)(OutInAxisOperation.java:402)で.invoke(CommonsHTTPTransportSender.java:209)。 org.apaのapache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) com.testでcom.test.CmPersonUpServiceTest.testcmPersonUp(CmPersonUpServiceTest.java:69)でcom.test.CmPersonUpServiceStub.cmPersonUp(CmPersonUpServiceStub.java:228)でche.axis2.client.OperationClient.execute(OperationClient.java:165) .CmPersonUpServiceTest.main(CmPersonUpServiceTest.java:85)--------------------------------------- -------------------------------------------------- ------------------------- `以下のように私のテスト呼び出しクラスを見つけてください:org.apache.axis2.AxisFault:トランスポートエラー:401エラー:Tomcatでwebserviceを呼び出す際に権限がありません。

/** 
* 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("[email protected]"); 
      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(); 
      } 
     } 


    } 

をこの問題であなたの援助を提供してください。 `

答えて

1

401エラーは、ターゲットURLが保護されていることを意味し、ユーザー名/パスワード認証を提供する必要があります。

クライアントでユーザー名とパスワードを設定するか、サービスが保護されないようにサーバーの設定を調整する必要があります。

チェック、ユーザー名/パスワードを設定するか、またはあなたがこのの詳細については、これらのクラスを作成するために使用している方のツールのマニュアルを確認できるようにする方法についてTemperatureConverterStubクラス。

関連する問題