Привет сообществу
На самом деле мы столкнулись со странной проблемой.
У нас есть сервер Tomcat, который публикует WebService
Вот wsdl:
<?xml version='1.0' encoding='UTF-8'?> <!-- Published by JAX-WS RI (http://jax-ws.java.net). RI's version is JAX-WS RI 2.3.2 git-revision#3d0bba4. --> <!-- Generated by JAX-WS RI (https://github.com/eclipse-ee4j/metro-jax-ws). RI's version is JAX-WS RI 2.3.2 git-revision#3d0bba4. --> <definitions name="FBroker" targetNamespace="http://ws.myserver.com/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.myserver.com/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <types> <xsd:schema> <xsd:import namespace="http://ws.myserver.com/" schemaLocation="http://localhost:9090/WS/FBroker?xsd=1"/> </xsd:schema> </types> <message name="startSession"> <part element="tns:startSession" name="parameters"/> </message> <message name="startSessionResponse"> <part element="tns:startSessionResponse" name="parameters"/> </message> <portType name="FBroker"> <operation name="startSession"> <input message="tns:startSession" wsam:Action="http://ws.myserver.com/FBroker/startSessionRequest"/> <output message="tns:startSessionResponse" wsam:Action="http://ws.myserver.com/FBroker/startSessionResponse"/> </operation> </portType> <binding name="FBrokerPortBinding" type="tns:FBroker"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="startSession"> <soap:operation soapAction=""/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="FBrokerService"> <port binding="tns:FBrokerPortBinding" name="FBrokerPort"> <soap:address location="http://localhost:9090/WS/FBroker"/> </port> </service> </definitions>
Но при использовании svcutil (или инструментов в Visual Studio (2018 2012 2017 и т. Д.) Сериализация подходит для FBrokerService, но невозможно получить сериализацию в FBrokerServiceClient, который также создается. Неважно, если мы поставим / s или / serialization и другие параметры.
И, конечно же, когда мы компилируем, мы получаем ошибку в сборке, не отмеченной как сериализуемая.
Если кто-нибудь из вас имеет представление об этом поведении?
Большое спасибо