2015-01-23 9 views
0

두 가지 서비스가 있습니다.minoccurs = "0"인 WSDL, 데이터가 전송되지 않음

하나는 다른 C#WCF service library로 작성하고 IIS에서 호스팅하는 glassfishJava 작성 및 호스팅됩니다.

Java service과 통신하려면 wsdl을 사용하고 svcutil을 통해 프록시를 생성하고 데이터를 보내려고합니다.

minoccurs="0"이 설정되어있는 wsdl에는 일부 enum 값이 지정되어 있습니다.

해당 열거 형을 포함하는 개체로 해당 프록시의 메서드를 호출하면 해당 개체가 보내지지 않습니다.

How to: configure network tracing에 기재된 추적 켜지고

Configuring tracing에 기재된 그래서 봉투를 참조하여 ENUM 대한 값이 없을 추적 모두졌다. 속성 세트조차 없다.이 부분은 완전히 빠져있다.

svcutil을 사용하여 프록시 생성시 어떻게 든 처리 할 수 ​​있습니까? minoccurswsdl에서 삭제되면 모든 것이 정상적으로 작동합니다.

생성 된 프록시를 확인하고 생성 된 클래스/열거 요소와 관련하여 차이점을 확인하지 못했습니다.

답변

1

Java 서비스의 WSDL이 SVCUTIL이 XmlSerializer 기반 계약을 생성하도록되어있는 경우 데이터를 보내기 전에 계약 객체에 올바른 필드를 설정해야합니다.

그런 경우에는 Specified라는 계약에 다른 부울 필드/속성이 있어야합니다.이 값을 true로 설정해야 XmlSerializer에 null이 아닌 값이 들어 있음을 알릴 수 있습니다.

+0

좋은 지적이지만, 지금은 그런 분야가 보이지 않습니다. XML Serializer가 선택됩니다. –

+0

WSDL은 어떤 모습입니까? – tomasr