2016-10-07 6 views
0

우리는/WEB-INF/services에 axis2 webservices를 사용하여 WAR를 압축합니다.Axis 1.6.2/Rampart 1.6.2에서 Axis 1.7.2/Rampart 1.7.0으로 업그레이드 할 때 암호 처리기가 호출되지 않음

Axis 1.5.1을 사용하여 개발 한 다음 몇 년 전에 Axis 1.6.2/Rampart 1.6.2로 업그레이드했습니다. 이제 Axis 1.7.2/rampart 1.7.0으로 업그레이드해야합니다.

웹 서비스에 사용자 이름 보안을 추가합니다. 우리는 또한 예제 webservices 클라이언트 응용 프로그램을 패키지화합니다. 모든 것이 잘 작동했습니다. 그러나 일단 Axis 1.7.2/Rampart 1.7.0으로 업그레이드하면 PasswordCallBackHandler.handle 메소드가 호출되지 않습니다. 이와 같이 우리의 웹 서비스 클라이언트는 고장났습니다. 이것은 요청 SOAP에 username/pwd를 추가하기 위해 암호 콜백 client.axis2.xml을 추가하는 방법입니다.

<axisconfig name="AxisJava2.0"> 
    <module ref="rampart"/> 
    <parameter name="OutflowSecurity"> 
    <action> 
    <items>UsernameToken</items> 
    <user>system</user> 

    <passwordCallbackClass>com.web.ws.connector.CSPWCBHandler</passwordCallbackClass> 
    <passwordType>PasswordText</passwordType> 
    </action> 

내 services.xml 파일은 다음과 같습니다 :

<service name="labware_weblims_listFunctions" targetNamespace="http://www.labware.com/webservice"> 
    <description>Service description for labware_weblims_listFunctions</description> 
    <schema schemaNamespace="http://www.labware.com/webservice"/> 
    <parameter name="ServiceClass">com.web.ws.service.ListService</parameter> 
    <parameter name="disasbleREST">true</parameter> 
    <operation name="listMethods"> 
    <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> 
    </operation> 
    <module ref="soapmonitor"/> 
    <module ref="rampart"/> 
    <parameter name="InflowSecurity"> 
    <action> 
    <items>UsernameToken</items> 
    <passwordCallbackClass>com.web.ws.control.PWCBHandler</passwordCallbackClass> 
    </action> 
    </parameter> 
</service> 

가 나는 1.7.2 일 휴식 축으로 업그레이드합니다. PasswordCallBackHandlers가 호출되지 않습니다.

Services.xml dtd를 찾았지만 찾지 못했습니다. CallBackHandlers를 RampartConfig로 추가해야 할 것입니다. 문제를 해결할 다른 방법이 있습니까? 어떤 도움을 주시면 감사하겠습니다.

답변

0

문제를 해결할 수있었습니다. 내 질문에 나열된 services.xml 및 client.axis2.xml의 PasswordCallBackHandler 항목은 Apache Rampart 1.0 스타일 구성입니다. 그들은 Axis 1.5.1 및 Axis 1.6.2 라이브러리와 함께 작업했습니다. Rampart 1.0 구성에 대한 지원은 Axis2 1.7.0에서 중단되었습니다. 다음 링크

https://axis.apache.org/axis2/java/rampart/release-notes/1.7.0.html

정책 파일을 생성하고 RampartConfig로 PasswordCallBackHandler을 추가 할 수 있었다 일 표준 방법을 참조하십시오. 누구든지 그것을 필요로한다면, 나는 기꺼이 도울 것입니다.

+0

안녕하세요 @Vishwanath 저는 wso2와 함께 ws-trust에서 작업 할 때 문제가 있습니다. http://stackoverflow.com/questions/43471342/axisfault-missing-wssesecurity-header-in-request –