-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi,
I have a CXF service with many *working* operations (meaning that I can call them ok and have the correct answer). I tried to add another operation in my wsdl. CXF generates code fine, I can deploy my service, but when trying to test I get: INPUT: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="http://com.psoft.myerp"> <soapenv:Header/> <soapenv:Body> <com:fillPlanningWithTask> <dayId>60</dayId> <taskId>8</taskId> <period>END_OF_MONTH</period> </com:fillPlanningWithTask> </soapenv:Body> </soapenv:Envelope> OUTPUT: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <soap:Fault> <faultcode>soap:Client</faultcode> <faultstring>Message part {http://com.psoft.myerp}fillPlanningWithTask was not recognized. (Does it exist in service WSDL?)</faultstring> </soap:Fault> </soap:Body> </soap:Envelope> According to the mailing list history, this can only happen when the operation I want to call is not described properly in my wsdl. However, it seams to be declared and anyway all operations declared in the same WSDL work flawlessly. Here's an extract of the wsdl for the fillPlanningDayWithTask operation: Schema part *********** <xsd:element name="fillPlanningWithTask"> <xsd:complexType> <xsd:sequence> <xsd:element name="dayId" type="xsd:long"></xsd:element> <xsd:element name="taskId" type="xsd:long"> </xsd:element> <xsd:element name="period" type="xsd:string"> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="fillPlanningWithTaskResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="done" type="xsd:boolean"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> Message part ************ <wsdl:message name="fillPlanningWithTaskRequest"> <wsdl:part name="parameters" element="tns:fillPlanningWithTask"></wsdl:part> </wsdl:message> <wsdl:message name="fillPlanningWithTaskResponse"> <wsdl:part name="parameters" element="tns:fillPlanningWithTaskResponse"></wsdl:part> </wsdl:message> Port type part ************** <wsdl:operation name="fillPlanningWithTask"> <wsdl:input message="tns:fillPlanningWithTaskRequest"></wsdl:input> <wsdl:output message="tns:fillPlanningWithTaskResponse"></wsdl:output> </wsdl:operation> binding part ************ <wsdl:operation name="fillPlanningWithTask"> <soap:operation soapAction="http://com.psoft.myerp/fillPlanningWithTask" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> Everything looks ok to me. I tried changing the operation name in case this was a problem with a key word, with no luck. This may be related to namespace usage but all the other operations on my service use the same convention (namespace on the operation but not on primitive types, all complex types in the same namespace). And they work. Any help is appreciated. I'm really stuck on this problem, probably something obvious but I can't find it. Pascal -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAknLIXAACgkQqHPHCU9vyPPaIQCgmwDBfE2eqioSZu6B7w5nvkfP 42YAni1gn6CD5PeHHZXNrz1zlEIdD886 =5bUI -----END PGP SIGNATURE-----
