2012-11-13 3 views
0

XMLBeans를 사용하여 자동 생성 된 Axis2 코드로 웹 서비스 클라이언트에서 작업하고 있습니다. 요청을 보내는 것은 예상대로 작동하지만 응답을 성공적으로 파싱 할 수 없습니다. 문제는 Axis2가 찾고있는 요소 내에 응답 데이터가 포함되어 있지 않다는 것입니다. Axis2는 SendAndCommitResponse 요소의 결과를 찾고, 다시 href가 TransactionResult 요소 인 단일 요소를 포함합니다.Axis2 클라이언트 - href로 결과 파싱

참조를 위해 원래 WSDL은 here입니다.

반환 SOAP 봉투의 구조는 다음과 같습니다

<?xml version="1.0" encoding="UTF-8"?> 
<soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://secure2.e-xact.com/vplug-in/transaction/rpc-enc/" xmlns:types="http://secure2.e-xact.com/vplug-in/transaction/rpc-enc/encodedTypes"> 
    <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
    <q1:SendAndCommitResponse xmlns:q1="http://secure2.e-xact.com/vplug-in/transaction/rpc-enc/Response"> 
     <SendAndCommitResult href="#id1"/> 
    </q1:SendAndCommitResponse> 
    <types:TransactionResult xsi:type="types:TransactionResult" id="id1"> 

    </types:TransactionResult> 
    </soap:Body> 
</soap:Envelope> 

나는 TransactionResult 태그 내에있을 것입니다 구문 분석하려고하지만, Axis2는이 SendAndCommitResponse 내 태그를 찾고 결과.

제 질문은 결과 데이터를 분석 할 때 href를 따라 결과 데이터를 구문 분석 할 때 Axis2 클라이언트에 알려주는 방법이 있습니까? 그렇지 않은 경우 직접 생성 된 클라이언트 코드를 직접 수정하여 TransactionResult을 직접 볼 수 있습니까?

답변

2

웹 서비스는 Axis1로 작성 될 수 있습니다. Axis1을 사용하여 클라이언트를 생성 할 수 있습니다. 동일한 종류의 문제가있어 축 1을 사용하여 문제가 해결되었습니다.

관련 문제