외부 웹 서비스와 대화하고있는 Springsource 툴킷 (즉, @Service 속성)을 사용하여 Java로 작성된 클라이언트가 있습니다 (완전히 분리되어 있습니다. 회사). marshalSendAndReceive 단계에서 content-type이 예상 텍스트/xml 대신 text/html로 돌아오고 있다는 메시지가 "예외 메시지가 될 수 있습니까?"라는 메시지가 나타나면 예외가 발생합니다.Java/spring 웹 서비스 클라이언트의 요청/응답 검사
webservice 자체는 다음 버전의 서비스에 대한 공용 테스트이며 동일한 코드에서 라이브 서비스를 호출하면 정상적으로 작동합니다. 필자가 호출하는이 특정 메서드는 실제 시스템에서는 작동하지만 테스트 시스템에서는 제대로 작동하지 않습니다.
내 솔직히 테스트 시스템에 대한 요청 형식이 올바르지 않습니다. 릴리스 노트에 따라 스키마에서만 응답이 변경되어야하지만 서비스에서 잘못 분석 한 오류를 반환합니다. 내 의뢰인. 릴리스 노트에 따라 변경되지 않은 요청을 포함하여 모든 요청에서이 오류가 발생합니다.
나는 트래픽을 검사하기 위해 Fiddler와 Wireshark를 사용하려고 시도했지만 Fiddler가 그것을 전혀 볼 수는 없다. (나는 이것이 STS의 Tomcat을 프록시로 사용하는 것이 문제라고 생각한다.) Wireshark는 디코드 할 수 없다. HTTPS 항목 (키가 없음). 내가 시도하면 외부 서비스가 403 Forbidden을 반환하므로 HTTP를 사용할 수 없습니다.
저는 원래 개발자가 아니며 Java 개발자도 아닙니다. 나는 숙련 된 .NET 개발자이므로 그와의 유추가 이해 될 것입니다. 그렇지 않으면, 나는 당신의 지시/질문/가능한 도움에 대한 어리 석음입니다. 전임자의 지시에 따라 XmlBeans를 사용하여 WSDL에서 JAR 파일을 만들고이를 참조 된 라이브러리로 추가했지만 올바르게 수행했는지 또는 수행중인 작업인지를 확신 할 수 없습니다. 사물에 눈에 띄는 영향을 미치지 않는 것 같습니다.
이 문제를 어떻게 디버그하여 내 클라이언트 또는 서비스에 문제가 있는지 확인할 수 있습니까?
요청에 'Accept' 헤더를'text/xml' (또는 아마도'application/xml')로 설정 했습니까? –
설정이나 자바 설정이 아니라 어디에서도 볼 수 없습니다. –
전임자가 남긴 webservice 주소와 서비스 지원인 teaam이 제공 한 다른 주소가 모두 잘못되었습니다. VS2012의 '서비스 참조 추가'기능을 사용하면 정확한 주소를 찾을 수있었습니다. 에릭 B의 대답은 정확하지만 내 울타리에도 불구하고. –