문제

NetBeans 'New Web Service Client'Wizard와 WSDL을 사용하여 eBay API의 첫 번째 웹 서비스 클라이언트를 만들려고합니다. 여기. 내 이해는 이것이 Jax-Ws를 사용하여 클래스 파일을 생성하고 있으며 내 요청은 모두 비누입니다.

요청을 실행하려고 할 때를 제외하고는 모든 것이 잘 작동하는 것 같습니다. eBay는 404로 응답합니다.

Wireshark는 내 요청을 다음과 같이 표시합니다.

<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<FindItemsRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<QueryKeywords>dvd players</QueryKeywords>
</FindItemsRequest></S:Body></S:Envelope>

그러나 eBay API 테스트 도구는 다음과 같아야한다고 말합니다.

<?xml version="1.0" encoding="utf-8"?>
<FindItems xmlns="urn:ebay:apis:eBLBaseComponents">
<QueryKeywords>dvd players</QueryKeywords>
</FindItems>

Netbeans는 내 요청을 표준 비누 구조라고 생각할 수있는 것으로 제가 요청했으며 '요청'을 통화 이름에 추가했습니다.

이 '봉투'네임 스페이스는 어디에서 얻을 수 있으며 왜 eBay가 사용하지 않습니까? 그리고 NetBeans에게 내가 정말로 원하는 것을 어떻게 말할 수 있습니까?

또한이 방법에 대한 eBay SDK의 이점이 무엇인지 궁금합니다 (작동하는 경우).

도움이 되었습니까?

해결책

나는 그것을 알아낼 수 있었고 평소와 같이 API 문서를 철저히 읽지 않은 것에 대해 스스로를 차고 있습니다.

eBay API는 404 이외의 다른 것을 제공하기 전에 특정 HTTP 헤더가 설정 될 것으로 예상합니다.

그 후, NetBeans가 제기 한 SOAP 요청은 eBay에 의해 올바르게 해석되었으며 예상 결과가 반환되었습니다.

이베이 쇼핑 API HTTP 헤더 값

JAX -WS 사용자 안내서 - HTTP 헤더 설정

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top