wsimport을 사용하여 클라이언트 웹 서비스 코드를 생성합니다. (아래 wsdl 코드의 일부 참조).wsimport를 사용하여 클라이언트 웹 서비스 코드를 생성 할 때 빈 클래스
코드 생성이 완료되면 메소드가 정의되지 않은 빈 TokenRequest 클래스가 생성됩니다. 한편, TokenResponse 클래스에는 몇 가지 메소드가 정의되어 있으며, setter는 거의없고 getter는 거의 없습니다.
아래 WSDL이 주어지면 왜 TokenRequest 클래스는 비어 있습니까?
ClientKey, Password, UserKey 및 UserName에 대해 4 개의 setter 메서드가 있어야합니다. 이제 이러한 매개 변수를 설정하여이 TokenRequest 객체를받는 기본 로그인 메소드에 전달할 수 없습니다.
.NET 4.0에서이 웹 서비스에 대한 참조를 만들려고 노력했지만 모든 것이 완벽하게 작동했습니다. TokenRequest 클래스에는 필요한 4 개의 매개 변수를받는 생성자가 있습니다.
무엇이 잘못 되었습니까? wsimport의 비누 헤더 속성을 생성하지 않는 이유는 Axis2를 사용하여이 작업을 수행하려고합니다 내일 ...
<?xml version="1.0" encoding="utf-8"?>
...
<wsdl:input name="TokenRequest">
**<soap12:header message="i0:TokenRequest_Headers" part="ClientKey" use="literal"/>
<soap12:header message="i0:TokenRequest_Headers" part="Password" use="literal"/>
<soap12:header message="i0:TokenRequest_Headers" part="UserKey" use="literal"/>
<soap12:header message="i0:TokenRequest_Headers" part="UserName" use="literal"/>
<soap12:body use="literal"/>**
</wsdl:input>
<wsdl:output name="TokenResponse">
<soap12:body use="literal"/>
</wsdl:output>
...
감사하지만, -XadditionalHeaders 매개 변수가 출력을 변경하지 않았습니다. 나는 아직 생성자가없는 빈 클래스 또는 정의 된 메서드가 – bobetko
일 수 있습니다. jax-ws (Metro) 라이브러리의 버전이 이전 버전 (2.1.3 이전)이기 때문일 수 있습니다. 어떤 버전의 Metro를 사용하고 있는지 확인할 수있는 방법이 있습니다. 그 동안 나는 생성하려고 노력할 것이며 당신에게 알려줄 것입니다. – user2880879
위로 가기 접근 방식과 @WebParam (header = true) 주석을 사용하여 SOAP 헤더를 만들려고했습니다. 그것은 soap : header로 wsdl을 생성하고 클라이언트를 생성 할 때 그 여분의 헤더 매개 변수로 메소드를 생성합니다. 이제 모든 것이 쉽고 정상적으로 보입니다. 내 첫 질문은 당신이 wsdl에서 자바를 생성 할 때, 어떤 wornings을 볼 수 있습니까? wsdl을 확인할 수 있습니까? – user2880879