Tomcat 서버에 배포 된 웹 서비스가 있고이 파일에 대해 wsdl 파일이 생성되었습니다.JAX WS에서 생성 된 wsdl의 네임 스페이스 문제
나중에 wsdl을 통해 새로운 비누 프로젝트를 생성하고 서버에 비누 요청을 실행했습니다.
"InputData"및 "CCNA"에 대한 네임 스페이스 접두사가 잘못되어 서버 측에서 xml의 unmarshalling이 실패했습니다. 현재는 입니다. cfa입니다.
는 자바 코드에 따르면, InputData의 네임 스페이스는 XS이며, CCNA는 BIM입니다. soap 요청을 수정하면 서버 측에서 unmarshall을 사용하는 것이 좋습니다.
그래서 문제는 어디에 있습니까? WSDL 생성 또는 JAX WS의 다른 모든 곳에서? 비누 요청을 수정해서는 안됩니다.
SOAP 요청 : 서버에 입력 데이터에 대한
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cfa="http://cfa.ni.ctl.com/" xmlns:bim="http://www.qwest.com/XMLSchema/BIM" xmlns:xs="http://www.qwest.com/XMLSchema">
<soapenv:Header/>
<soapenv:Body>
<cfa:getCFACircuit>
<!--Optional:-->
<CFACircuitRequest>
<bim:RequestId>123</bim:RequestId>
<bim:WebServiceName>123</bim:WebServiceName>
<bim:RequestPurpose>123</bim:RequestPurpose>
<bim:AuthorizationInfo>
<!--Optional:-->
<bim:ApplicationId>123</bim:ApplicationId>
<!--Optional:-->
<bim:UserId>123</bim:UserId>
<!--Optional:-->
<bim:Userid>123</bim:Userid>
<bim:Password>123</bim:Password>
</bim:AuthorizationInfo>
<!--Optional:-->
<bim:TargetSchemaVersionUsed>
<!--Optional:-->
<bim:TargetXSDName>123</bim:TargetXSDName>
<!--Optional:-->
<bim:MajorVersionNumber>123</bim:MajorVersionNumber>
<!--Optional:-->
<bim:MinorVersionNumber>123</bim:MinorVersionNumber>
</bim:TargetSchemaVersionUsed>
<!--Optional:-->
<bim:TimeOutSecond>123</bim:TimeOutSecond>
<!--Optional:-->
<bim:SendTimeStamp>123</bim:SendTimeStamp>
<cfa:InputData>
<cfa:CCNA>123</cfa:CCNA>
<xs:CableKey>
<!--Optional:-->
<xs:LowUnit>123</xs:LowUnit>
<!--Optional:-->
<xs:HighUnit>123</xs:HighUnit>
<!--Optional:-->
<xs:CableId>123</xs:CableId>
<!--Optional:-->
<xs:CableSubPath>123</xs:CableSubPath>
<!--Optional:-->
<xs:CLLIALocation>123</xs:CLLIALocation>
<!--Optional:-->
<xs:CLLIZLocation>123</xs:CLLIZLocation>
</xs:CableKey>
</cfa:InputData>
</CFACircuitRequest>
</cfa:getCFACircuit>
</soapenv:Body>
</soapenv:Envelope>
XML 주석입니다
@XmlElement (이름 = "InputData", 네임 스페이스 = "http://www.qwest.com/XMLSchema"필수 = TRUE)
이 주석으로 wsdl의 inputData가 해당 네임 스페이스에없는 이유를 모르겠습니다. 아마도 jaxb 버전과 관련된 문제일까요? 당신은 새로운 것을 시도 할 수 있습니까? 미안하지만 여기서 어떻게 도와야할지 모르겠다. 나는 또한 당신의 문제를 해결하지 못하기 때문에 나의 대답을 제거 할 것입니다. – albciff
ok..thanks..jaxb 최신 버전 시도 – Ajay