wsimport забывает один прокси-класс - PullRequest
2 голосов
/ 04 сентября 2011

Я использую wsimport для генерации прокси-классов из файла WSDL. Класс A генерируется, но класс B, который соответствует параметру A для его конструктора, - нет. Что может быть причиной этого? Thx.

Вот WSDL:

<?xml version='1.0' encoding='UTF-8'?><!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.4-b01-. --><!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.4-b01-. --><definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://project-project.org/ref" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://project-project.org/ref" name="MyName">
<types>
<xsd:schema>
<xsd:import namespace="http://purl.org/dc/terms/" schemaLocation="http://X.X.X.X:8080/myName/MyName?xsd=1" />
</xsd:schema>
<xsd:schema>
<xsd:import namespace="http://project-project.org/ref/tools" schemaLocation="http://X.X.X.X:8080/myName/MyName?xsd=2" />
</xsd:schema>
<xsd:schema>
<xsd:import namespace="http://project-project.org/ref/datatypes" schemaLocation="http://X.X.X.X:8080/myName/MyName?xsd=3" />
</xsd:schema>
<xsd:schema>
<xsd:import namespace="http://project-project.org/ref/ProjectService" schemaLocation="http://X.X.X.X:8080/myName/MyName?xsd=4" />
</xsd:schema>
<xsd:schema>
<xsd:import namespace="http://project-project.org/ref/MyName" schemaLocation="http://X.X.X.X:8080/myName/MyName?xsd=5" />
</xsd:schema>
<xsd:schema>
<xsd:import namespace="http://project-project.org/ref" schemaLocation="http://X.X.X.X:8080/myName/MyName?xsd=6" />
</xsd:schema>
<xsd:schema>
<xsd:import namespace="http://project-project.org/objects" schemaLocation="http://X.X.X.X:8080/myName/MyName?xsd=7" />
</xsd:schema>
</types>
<message name="MyName">
<part name="parameters" element="tns:MyName" />
</message>
<message name="MyNameResponse">
<part name="parameters" element="tns:MyNameResponse" />
</message>
<message name="ProjectServicePull">
<part name="parameters" element="tns:ProjectServicePull" />
</message>
<message name="ProjectServicePullResponse">
<part name="parameters" element="tns:ProjectServicePullResponse" />
</message>
<portType name="MyName">
<operation name="MyName">
<input message="tns:MyName" />
<output message="tns:MyNameResponse" />
</operation>
<operation name="ProjectServicePull">
<input message="tns:ProjectServicePull" />
<output message="tns:ProjectServicePullResponse" />
</operation>
</portType>
<binding name="MyNamePortBinding" type="tns:MyName">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<operation name="MyName">
<soap:operation soapAction="http://project-project.org/ref/MyName" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="ProjectServicePull">
<soap:operation soapAction="http://project-project.org/ref/ProjectService/Pull" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="MyName">
<port name="MyNamePort" binding="tns:MyNamePortBinding">
<soap:address location="http://X.X.X.X:8080/myName/MyName" />
</port>
</service>

1 Ответ

1 голос
/ 06 сентября 2011

Возможно, что ваши схемы неполны для класса B, и поэтому jaxb не может успешно создать класс.если я вас правильно понимаю, вы говорите, что сгенерированный класс A не будет компилироваться после генерации из-за пропущенных классов?wsimport выкладывает какие-либо предупреждения?

...