2014-12-10 9 views
1

.wsdl 파일을 최신 Yodlee SOAP API (2014_Q4)로 업데이트 할 때 이전에 없었던 코드 영역에서 오류가 발생하기 시작했습니다. 트랜잭션 검색을 다루는 코드에는 아무런 변화가 없었습니다. 발생되는 오류는 executeUserSearchRequest 전화에 무슨 일이 일어나고예기치 않은 하위 요소 highLevelCategoryReq, 트랜잭션 검색

org.apache.axis2.databinding.ADBException: Unexpected subelement highLevelCategoryReq 

, 즉

Locators.transactionSearchService.executeUserSearchRequest(userContext, transactionSearchRequest) 

SearchRequest에의 설정까지 실질적으로 샘플 코드에 표시되는 내용과 완전히 동일합니다 (최신 자바입니다 SDK 샘플 코드, Aggregation12-JavaSampleApps이라는 폴더). 스 니펫은 최대 관련된 것에

val transactionSearchRange = new TransactionSearchResultRange() 
transactionSearchRange.setStartNumber(startRange) 
transactionSearchRange.setEndNumber(endRange) 


val transactionSearchRequest = new TransactionSearchRequest() 
val transactionSearchFilter = new TransactionSearchFilter 
transactionSearchFilter.setTransactionSplitType(TransactionSplitType.ALL_TRANSACTION) 
val itemAccountId = new ItemAccountId() 
itemAccountId.setIdentifier(bankData.getItemAccountId) 
transactionSearchFilter.setItemAccountId(itemAccountId) 
transactionSearchRequest.setSearchFilter(transactionSearchFilter) 
transactionSearchRequest.setIgnorePaymentTransactions(false) 
transactionSearchRequest.setIncludeAggregatedTransactions(true) 
transactionSearchRequest.setResultRange(transactionSearchRange) 
transactionSearchRequest.setContainerType("all") 
transactionSearchRequest.setSearchClients(TransactionSearchClients.DEFAULT_SERVICE_CLIENT) 
transactionSearchRequest.setIgnoreUserInput(true) 

Locators.transactionSearchService.executeUserSearchRequest(userContext, transactionSearchRequest) 

스택 트레이스 아래에 표시됩니다

org.apache.axis2.databinding.ADBException: Unexpected subelement highLevelCategoryReq 
    at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222) 
    at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129) 
    at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2973) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) 
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) 
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333) 
    at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) 
    at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) 
    at org.apache.axis.Message.getSOAPEnvelope(Message.java:435) 
    at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62) 
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206) 
    at org.apache.axis.client.Call.invokeEngine(Call.java:2784) 
    at org.apache.axis.client.Call.invoke(Call.java:2767) 
    at org.apache.axis.client.Call.invoke(Call.java:2443) 
    at org.apache.axis.client.Call.invoke(Call.java:2366) 
    at org.apache.axis.client.Call.invoke(Call.java:1812) 
    at com.yodlee.soap.core.transactionsearch.transactionsearchservice.TransactionSearchServiceSoapBindingStub.executeUserSearchRequest(TransactionSearchServiceSoapBindingStub.java:1019) 

우리가 잡아 처리 할 것으로 예상된다이 오류는 다음, 또는 그대로입니다 그것은 몇 가지 더 큰 근본적인 문제를 나타내는 ?

답변

2

올바른 SOAP 버전 끝점을 사용해야합니다. 2014Q4 WSDL을 사용하고 있으므로 모든 API 호출의 끝점은 2014Q4 버전을 가리켜 야합니다.

예 - 트랜잭션을 검색하십시오

-

https://xxx.yodlee.com/yodsoap/services/TransactionSearchService_2014Q4 그래서 모든 URL에 대한 서비스 버전을 변경하시기 바랍니다하고 문제를 해결해야한다.

+0

감사합니다.이 문제가 수정되었습니다. 샘플 SDK가 새로운 변수 soapVersion을 도입 한 것 같습니다. 실제로 sdkVersion – mdedetrich