gpt4 book ai didi

java - 生成 JAX-WS 源 NullPointerException

转载 作者:行者123 更新时间:2023-12-01 05:15:06 25 4
gpt4 key购买 nike

我正在尝试从我已经创建的 WSDL 定义生成 Java 服务类。我当前的问题是它失败并显示以下消息,仅此而已:

Unable to generate JAX-WS Source.

Reason:
java.lang.NullPointerException

(是的~冗长)

我使用的是MuleStudio 1.3.0,它基于Eclipse 3.6.1。我尝试过从 Mule 的组件和直接从 WSDL 创建这些类,但我得到了同样的错误。

我故意混淆了 WSDL,它正确地开始抛出验证错误。这意味着它正在读取文件并正确解析它。不知道接下来会发生什么。

我该如何解决此问题?

下面是我的 wsdl 文件供引用:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://tempuri.org/ListenerService/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="ListenerService"
targetNamespace="http://tempuri.org/ListenerService/">
<!-- types -->
<wsdl:types>
<!-- Generic TransactionLog entities -->
<xsd:schema targetNamespace="http://tempuri.org/ListenerService/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:simpleType name="LevelEnumeration">
<xsd:restriction base="xsd:normalizedString">
<xsd:enumeration value="Debug" />
<xsd:enumeration value="Info" />
<xsd:enumeration value="Warning" />
<xsd:enumeration value="Error" />
<xsd:enumeration value="Fatal" />
</xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="LogEntry">
<sequence>
<xsd:element name="CorrelationToken" type="xsd:normalizedString"/>
<xsd:element name="SystemId" type="xsd:normalizedString"/>
<xsd:element name="Level" type="tns:LevelEnumeration"/>
<xsd:element name="Description" type="xs:string" />
<xsd:element name="RecordData" type="xs:string" />
<xsd:element name="Timestamp" type="xs:dateTime" />
</sequence>
</xsd:complexType>

<!-- Service Specific Types -->
<xsd:simpleType name="GenericResponseStatusEnumeration">
<xsd:restriction base="xsd:normalizedString">
<xsd:enumeration value="Success" />
<xsd:enumeration value="Error" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="ListenerServiceGenericResponse">
<sequence>
<xsd:element name="Status" type="tns:GenericResponseStatusEnumeration" />
<xsd:element name="Detail" type="xsd:string" minOccurs="0" maxOccurs="1" />
</sequence>
</xsd:complexType>

<xsd:element name="LogEntry" type="tns:LogEntry" />
<xsd:element name="ServiceResponse" type="tns:ListenerServiceGenericResponse" />
</xsd:schema>
</wsdl:types>

<!-- service message types -->
<wsdl:message name="SubmitLogRequest">
<wsdl:part name="LogEntry" type="tns:LogEntry" />
</wsdl:message>
<wsdl:message name="SubmitLogResponse">
<wsdl:part name="Response" type="tns:ListenerServiceGenericResponse" />
</wsdl:message>

<!-- service messages -->
<wsdl:portType name="ListenerService">
<wsdl:operation name="SubmitLog">
<wsdl:input message="tns:SubmitLogRequest" />

<!-- TODO: Remove this to make it a one-way operation -->
<wsdl:output message="tns:SubmitLogResponse" />
</wsdl:operation>
</wsdl:portType>

<!-- service bindings -->
<wsdl:binding name="ListenerServiceSOAP">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="SubmitLog">
<soap:operation soapAction="http://tempuri.org/ListenerService/SubmitLog" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>

<wsdl:service name="ListenerService">
<wsdl:port binding="tns:ListenerServiceSOAP" name="ListenerServiceSOAP">
<soap:address location="http://tempuri.org" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

最佳答案

我会尝试从命令行直接在 Wsdl 上调用 jaxws wsimport 命令。我相信它现在已经随 JDK 一起提供了,所以您甚至不必下载它。
您可能遇到了一个错误,该错误已在 wsimport 的更高版本中修复。

关于java - 生成 JAX-WS 源 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11369782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com