Pregunta

Primavera-WS genera WSDL sin operaciones en la etiqueta de la unión ... ¿Sabe por qué?

No es mi primavera-ws-service.xml:

    <import resource="classpath*:application-context.xml" />

    <!-- Register PayloadRootAnnotationMethodEndpointMapping -->
    <bean class="org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping" />

    <!-- Register Endpoint -->
    <bean id="tasktablerServiceEndpoint" class="tasktabler.mpk.service.TasktablerServiceEndpoint" />

    <!-- Configure XML Marshaller -->
    <bean class="org.springframework.ws.server.endpoint.adapter.GenericMarshallingMethodEndpointAdapter">
        <constructor-arg ref="marshaller" />
    </bean>

    <bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
        <property name="classesToBeBound">
            <list>
                <value>tasktabler.mpk.databinding.OptimizeRequest</value>
            </list>
        </property>
    </bean>

    <!-- Add automatic WSDL generation support -->
    <bean id="tasktabler" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
        <property name="schema" ref="schema" />
        <property name="portTypeName" value="tasktabler" />
        <property name="locationUri" value="http://localhost:8080/tasktabler" />
        <property name="targetNamespace" value="http://tasktabler" />
    </bean>

    <bean id="schema" class="org.springframework.xml.xsd.SimpleXsdSchema">
        <property name="xsd" value="/WEB-INF/schema.xsd" />
    </bean>

Y no es parte de la unión WSDL WSDL:

   <wsdl:binding name="tasktablerSoap11" type="tns:tasktabler">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
   </wsdl:binding>

Gracias de antemano, Etam.

¿Fue útil?

Solución

Los intentos DefaultWsdl11Definition a generar automáticamente el WSDL mediante el examen de los tipos en su esquema. Si el esquema no se ajusta a sus patrones esperados, no va a hacer un buen trabajo de ella.

la documentación :

  

El DefaultWsdl11Definition que   construye un WSDL de un esquema XSD. Esta   itera definición por todo elemento   elementos que se encuentran en el esquema, y   crea un mensaje para todos los elementos.   A continuación, se crea la operación WSDL para   todos los mensajes que terminan con el definido   solicitud o sufijo respuesta. los   solicitudes por defecto es el sufijo de solicitud; el   sufijo respuesta predeterminada es la respuesta,   aunque estos se pueden cambiar mediante el establecimiento   la requestSuffix y responseSuffix   propiedades, respectivamente. También   construye una portType, encuadernación y   servicio en base a las operaciones.

     

Por ejemplo, si nuestro esquema Orders.xsd   define el GetOrdersRequest y   elementos GetOrdersResponse, la   XsdBasedSoap11Wsdl4jDefinitionBuilder   creará un GetOrdersRequest y   GetOrdersResponse mensaje, y una   GetOrders operación, que se pone en una   tipo de puerto Órdenes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top