Eclipse 骡及;日食';s的WSDL问题

Eclipse 骡及;日食';s的WSDL问题,eclipse,web-services,soap,wsdl,mule,Eclipse,Web Services,Soap,Wsdl,Mule,因此,我使用eclipse实现了一个非常简单的Web服务,并使用CXF生成了它的WSDL,CXF也是Mule中使用的框架。但是,当我尝试使用先前生成的WSDL在Mule中发布相同的服务时,由于类似于来自CXF的“BadUsageException:-p无效字符”的原因,服务停止。我曾尝试使用Axis生成的WSDL从mule中删除java类,但在生成CXF时没有成功 以下是我的wsdl: <wsdl:definitions xmlns:xsd="http://www.w3.org/2

因此,我使用eclipse实现了一个非常简单的Web服务,并使用CXF生成了它的WSDL,CXF也是Mule中使用的框架。但是,当我尝试使用先前生成的WSDL在Mule中发布相同的服务时,由于类似于来自CXF的“BadUsageException:-p无效字符”的原因,服务停止。我曾尝试使用Axis生成的WSDL从mule中删除java类,但在生成CXF时没有成功

以下是我的wsdl:

    <wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://snippet/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="SnippetService" targetNamespace="http://snippet/">
<wsdl:types>
<xs:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://snippet/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" elementFormDefault="unqualified" targetNamespace="http://snippet/" version="1.0">
<xs:element name="multiply" type="tns:multiply"/>
<xs:element name="multiplyResponse" type="tns:multiplyResponse"/>
<xs:element name="sum" type="tns:sum"/>
<xs:element name="sumResponse" type="tns:sumResponse"/>
<xs:complexType name="sum">
<xs:sequence>
<xs:element name="arg0" type="xs:int"/>
<xs:element name="arg1" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="sumResponse">
<xs:sequence>
<xs:element name="return" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="multiply">
<xs:sequence>
<xs:element name="arg0" type="xs:int"/>
<xs:element name="arg1" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="multiplyResponse">
<xs:sequence>
<xs:element name="return" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="multiplyResponse">
<wsdl:part element="tns:multiplyResponse" name="parameters"></wsdl:part>
</wsdl:message>
<wsdl:message name="sumResponse">
<wsdl:part element="tns:sumResponse" name="parameters"></wsdl:part>
</wsdl:message>
<wsdl:message name="sum">
<wsdl:part element="tns:sum" name="parameters"></wsdl:part>
</wsdl:message>
<wsdl:message name="multiply">
<wsdl:part element="tns:multiply" name="parameters"></wsdl:part>
</wsdl:message>
<wsdl:portType name="InterNya">
<wsdl:operation name="sum">
<wsdl:input message="tns:sum" name="sum"></wsdl:input>
<wsdl:output message="tns:sumResponse" name="sumResponse"></wsdl:output>
</wsdl:operation>
<wsdl:operation name="multiply">
<wsdl:input message="tns:multiply" name="multiply"></wsdl:input>
<wsdl:output message="tns:multiplyResponse" name="multiplyResponse"></wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="SnippetServiceSoapBinding" type="tns:InterNya">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="sum">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="sum">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="sumResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="multiply">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="multiply">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="multiplyResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="SnippetService">
<wsdl:port binding="tns:SnippetServiceSoapBinding" name="SnippetPort">
<soap:address location="http://localhost:8080/hassib/services/SnippetPort"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>


任何帮助都将不胜感激。谢谢。

使用Anypoint Studio 2014年7月的版本测试了您的WSDL。 它正确地创建了您期望的Web服务类。 我使用了JavaSE-1.7和3.5.1 Mule引擎

我是如何做到的: 1.将HTTP端点拖到新流中 2.将CXF端点拖到后面 3.打开CXF属性,并在服务类属性处使用“从WSDL生成”创建java类

干杯,
Patrick

请编辑您的问题并添加:完整错误stacktrace,当您得到它时(在Mule启动时,测试服务时…),流配置和Mule版本。或者,您可以使用您的WebService的Java服务类(如果有)。Mule将自动为您生成WSDL。SoapService类用'at'WebService注释,方法用'at'WebMethod注释。实际上,我不能记录这是一个错误。当我在eclipse中创建我的Web服务时,我使用CXF组件生成了WSDL,我在Mule中再次使用了它,但它没有生成必要的类,原因是在有效的字符消息中。@brazo我将尝试执行yu建议的操作。我只想拥有一个客户端应用程序,它使用mule中发布的服务并检索响应。虽然@brazo建议的方法有效,但我仍然需要使用WSDL并在mule端发布web服务,以便远程客户端应用程序考虑它们