문서 스타일 SOAP 웹 서비스를 호출했습니다. 그것은 SOAP UI와 함께 작동하지만, 나는 그것을 programaticaly 호출하려고 오류가 발생했습니다. 여기 웹 서비스 호출에서 '요소가 선언되지 않음'응답 받기
내가 서버에서지고있어 오류입니다 :<SubmitRequestDocResponse xmlns="http://tripauthority.com/hotel">
<SubmitRequestDocResult>
<ArnResponse xmlns:ns2="http://tripauthority.com/hotel" xmlns="">
<Error>
<Message>
Request is not valid. Details: The
'http://tripauthority.com/hotel:ArnRequest'
element is not declared.
</Message>
</Error>
</ArnResponse>
</SubmitRequestDocResult>
</SubmitRequestDocResponse>
보이는 호출 코드와 같은 :
ARequestDoc requestDoc = objectFactory.createSubmitRequestDocARequestDoc();
ArnRequest request = requestFactory.createArnRequest();
requestDoc.getContent().add(request);
SubmitRequestDocResult response =
soap.submitRequestDoc("id", "username", "password", requestDoc);
그리고 사용되는 클래스를 조직하고 주석됩니다
패키지 com.company.server.ws :
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"siteID",
"aUserName",
"aPassword",
"aRequestDoc"
})
@XmlRootElement(name = "SubmitRequestDoc")
@XmlSeeAlso(ArnRequest.class)
public class SubmitRequestDoc { // Stuff... }
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"content"
})
public static class ARequestDoc { // Stuff ... }
패키지 com.company.server.ws.request :
:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"availability",
"rateDetails",
"reservation",
"cancellation"
})
@XmlRootElement(name = "ArnRequest")
public class ArnRequest { // Stuff ... }
또한 com.company.server.wspackage-info.java
는 다음을 갖는다
@javax.xml.bind.annotation.XmlSchema(
namespace = "http://tripauthority.com/hotel",
elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.company.server.ws;
또한 가치있는 것을 위해 WSDL과 XSD for the Request
이 메시지가 제대로 보내려면 어떤 생각을 가지고 있습니까? SOAP UI를 사용하여 하드 코딩 된 문자열 요청을 보낼 수 있으며 정상적으로 작동합니다.
감사
편집 그것은 가치가 무엇인지에 대한 , 지금까지 내가 어떻게 든 ArnRequest
부분을 보낼 수 있다면 어떤 공간없이 통과 수도있다 내 생각 선언, 그렇게 할 수있는 방법이 있다면, 그러나 이는 단지 추측이며 모든 통찰력이 인정됩니다.