the "No such operation 'request' '' occured when I used the axis provider WSIFDynamicProvider_ApacheAxis(), When I use the soap provider, WSIFDynamicProvider_ApacheSOAP, it would give a error: No Serializer found to serialize a 'java.lang.String' using encoding style 'literal'.
The whole WSDL is listed as below: file 1 <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions name="WebFeatureService" targetNamespace="http://www.globus.org/namespaces/wfs/core/wfs_instance/service" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:binding="http://www.globus.org/namespaces/wfs/core/wfs_instance/bindings" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> <wsdl:import namespace="http://www.globus.org/namespaces/wfs/core/wfs_instance/bindings" location="WFS_bindings.wsdl"/> <wsdl:service name="WebFeatureService"> <wsdl:port name="WFSPortTypePort" binding="binding:WFSPortTypeSOAPBinding"> <soap:address location="http://localhost:8080/wsrf/services/"/> </wsdl:port> </wsdl:service> </wsdl:definitions> file 2: <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions name="WebFeatureService" targetNamespace="http://www.globus.org/namespaces/wfs/core/wfs_instance/bindings" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:porttype="http://www.globus.org/namespaces/wfs/core/wfs_instance" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> <wsdl:import namespace="http://www.globus.org/namespaces/wfs/core/wfs_instance" location="WFS_flattened.wsdl"/> <wsdl:binding name="WFSPortTypeSOAPBinding" type="porttype:WFSPortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="doservice"> <soap:operation soapAction="http://www.globus.org/namespaces/wfs/core/wfs_instance/WFSPortType/doserviceRequest"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> </wsdl:definitions> file 3 : <?xml version="1.0" encoding="UTF-8"?> <definitions name="WebFeatureService" targetNamespace="http://www.globus.org/namespaces/wfs/core/wfs_instance" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsrpw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl" xmlns:wsdlpp="http://www.globus.org/namespaces/2004/10/WSDLPreprocessor" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://www.globus.org/namespaces/wfs/core/wfs_instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"> <types> <xsd:schema targetNamespace="http://www.globus.org/namespaces/wfs/core/wfs_instance" xmlns:tns="http://www.globus.org/namespaces/wfs/core/wfs_instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!-- REQUESTS AND RESPONSES --> <xsd:element name="request" type="xsd:string"/> <xsd:element name="response" type="xsd:string"/> </xsd:schema> </types> <message name="RequestMessage"> <part name="parameters" element="tns:request"/> </message> <message name="ResponseMessage"> <part name="parameters" element="tns:response"/> </message> <portType name="WFSPortType"> <operation name="doservice"> <input message="tns:RequestMessage"/> <output message="tns:ResponseMessage"/> </operation> </portType> </definitions>. If I change the parts of third file to be : <message name="RequestMessage"> <part name="parameters" type="txsd:string"/> </message> <message name="ResponseMessage"> <part name="parameters" type="txsd:string"/> </message> I got a erro: No such operation 'parameters' 在2008-08-10,lorkyo <[EMAIL PROTECTED]> 写道: Hello, I'm new in using wsif, can anyone give me a example on how to invoke a webservice? the sample "DynamicInvoker" only support parts as a to be basic type, such as integer, String ansd so on. But if a part refers to a XML element listed below, How should I do? <xsd:element name="request" type="xsd:string"/> <xsd:element name="response" type="xsd:string"/> </xsd:schema> </types> <message name="RequestMessage"> <part name="parameters" element="tns:request"/> </message> <message name="ResponseMessage"> <part name="parameters" element="tns:response"/> </message> <portType name="WFSPortType"> <operation name="doservice"> <input message="tns:RequestMessage"/> <output message="tns:ResponseMessage"/> </operation> </portType> </definitions> I have tried to pass String object as in put,but get a error :No such operation 'request' . Do I need to pass Elements as input parameters? How to generate such Elements and How to set their values?
