2017-11-26 17 views
0

SOAP 요청을 생성하는 함수가 하나 있습니다. SOAP UI 도구에서 실행하고 요청을 가져올 수 있습니다.SOAP 응답에 오류 표시 - SAAJ Java

SEVERE: SAAJ0537: Invalid Content-Type. Could be an error message instead of a SOAP message com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Invalid Content-Type:text/html. Is this an error message instead of a SOAP response?

당신이 그것을 밖으로 정렬하는 데 도움이 될 : 나는

SOAPMessage soapResponse = soapConnection.call(soapMessage, url); 

이 오류가 호출하면

나는이

MessageFactory messageFactory = MessageFactory.newInstance(); 
SOAPMessage soapMessage = messageFactory.createMessage(); 
MimeHeaders headers = soapMessage.getMimeHeaders(); 
headers.removeAllHeaders(); 
headers.addHeader("Content-Type", "text/xml"); 
SOAPPart soapPart = soapMessage.getSOAPPart(); 

처럼 그 SOAPMessage를 만드는 오전? 그게 연결을 설정할 수 없음을 의미합니까 ??

답변

0

SOAP 메시지에 대해 예상되는 대부분의 HTTP Content-Type 헤더는 application/soap+xml입니다 (XML SOAP 참조).

Content-Type 헤더의 값이 text/html이라는 SOAP 서비스 컨테이너에서 발생한 예외는 예외입니다. SOAP UI가 올바른 요청 헤더 값을 설정했다고 생각합니다.

코드에서 보낸 헤더 값이 기본 값인 것처럼 보입니다. 예상되는 Content-Type 값이 서버와 호에 맞는지 확인하고 프레임 워크/라이브러리에 값을 설정해야합니다.

+0

다음과 같이 추가하고 있습니다. MessageFactory messageFactory = MessageFactory.newInstance(); \t \t \t SOAPMessage soapMessage = messageFactory.createMessage(); \t \t \t MimeHeaders headers = soapMessage.getMimeHeaders(); \t \t \t headers.removeAllHeaders(); \t \t headers.addHeader ("Content-Type", "text/xml"); \t \t \t SOAPPart soapPart = soapMessage.getSOAPPart(); – user3131560

+0

이것은 정상입니다. 사용중인 SAAJ 구현 (또는 응용 프로그램 서버)에 대한 정보를 추가 할 수 있습니까? 구성과 관련된 것 같습니다. –

+0

eclipse.pLEASE에 독립 실행 형 Java 코드가 있습니다. 코드 완성 SOAP 구현을 참조하십시오. – user3131560