I'm testing this web service the same way I've tested my other ones
(getUsers, etc) and they all worked fine until this one. I am using the
classes generated from WSDL2Java, which are UserInfoSoapBindingStud,
UserInfoServiceLocator and EmailType
Here is my client:
public boolean sendEmailClient(String to, String from, String subject,
String body) {
try {
URL svcURL = new
URL("http://ssood:8080/cmattWS-1/services/UserInfo?wsdl");
UserInfoServiceLocator service = new UserInfoServiceLocator();
UserInfoSoapBindingStub stub =
(UserInfoSoapBindingStub)service.getUserInfo(svcURL);
EmailType emailType = new EmailType();
emailType.setTo(to);
emailType.setFrom(from);
emailType.setSubject(subject);
emailType.setBody(body);
stub.sendEmail(emailType);
return true;
} catch (MalformedURLException me) {
me.printStackTrace();
} catch (ServiceException se){
se.printStackTrace();
} catch (RemoteException re){
re.printStackTrace();
}
return false;
}
Here is a glib of code in the UserInfoSoapBindingStub class, where it calls
the actual operation:
...
oper = new org.apache.axis.description.OperationDesc();
oper.setName("sendEmail");
param = new org.apache.axis.description.ParameterDesc(new
javax.xml.namespace.QName("", "emailElement"),
org.apache.axis.description.ParameterDesc.IN, new
javax.xml.namespace.QName("http://harps.sys.com/cmattWS", "EmailType"),
com.sys.harps.cmattWS.EmailType.class, false, false);
oper.addParameter(param);
oper.setReturnType(org.apache.axis.encoding.XMLType.AXIS_VOID);
oper.setStyle(org.apache.axis.constants.Style.DOCUMENT);
oper.setUse(org.apache.axis.constants.Use.LITERAL);
_operations[3] = oper;
...
It seems to be setting "emailElement" as a parameter of type EmailType,
which is correct...so I'm still not sure where this error is coming from :-\
Thanks for all your help!
-- Shanna --
GlenMazza wrote:
>
> I'd forget about your WSDL right now and look at your client code
> instead. In particular, compare your client code to the client samples
> on the quickstart page
> (http://ws.apache.org/axis2/1_2/quickstartguide.html), in particular,
> the client sample which uses the same databinding option (adb,xmlbeans,
> etc.) that you are using. Anything unusual or different?
>
> Glen
>
>
> Am Montag, den 21.05.2007, 15:50 -0700 schrieb Shanna7463:
>> sentEmail is the web service I'm trying to test. It has a parameter
>> called
>> "emailElement" which is of type emailType. I'm not sure why the client
>> thinks that "emailElement" should be an operation. Am I incorrectly
>> declaring the parameter?
>>
>> Thanks!!
>>
>> -- Shanna --
>>
>>
>> GlenMazza wrote:
>> >
>> > As the fault string says, there doesn't seem to be an operation named
>> > "emailElement". Look at the list of operations in your WSDL:
>> >
>> > <wsdl:operation name="sendEmail">
>> > <wsdl:operation name="getNTSP">
>> > <wsdl:operation name="addDBUsers">
>> > <wsdl:operation name="getUsers">
>> >
>> > Test your code with "sendEmail" and see if you get the same error
>> > message.
>> >
>> > Glen
>> >
>> >
>> > Am Montag, den 21.05.2007, 14:05 -0700 schrieb Shanna7463:
>> >> Hi, I'm pretty new to web services. I deployed a web service and I'm
>> >> trying
>> >> to test it with a client method, but I keep getting this error:
>> >>
>> >> AxisFault
>> >> faultCode: {http://xml.apache.org/axis/}Client
>> >> faultSubcode:
>> >> faultString: No such operation 'emailElement'
>> >> faultActor:
>> >> faultNode:
>> >> faultDetail:
>> >> {http://xml.apache.org/axis/}hostname:ssood
>> >>
>> >> No such operation 'emailElement'
>> >> at
>> >>
>> org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
>> >> ....
>> >>
>> >> I have a feeling I'm doing something wrong in my wsdl:
>> >>
>> >> <?xml version="1.0" encoding="UTF-8"?>
>> >> <wsdl:definitions
>> >> targetNamespace="http://harps.sys.com/cmattWS"
>> >> xmlns:tns1="http://harps.sys.com/cmattWS"
>> >> xmlns:apachesoap="http://xml.apache.org/xml-soap"
>> >> xmlns:impl="http://harps.sys.com/cmattWS"
>> >> xmlns:intf="http://harps.sys.com/cmattWS"
>> >> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
>> >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>> >> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
>> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>> >>
>> >> <!--WSDL created by Apache Axis version: 1.4
>> >> Built on Apr 22, 2006 (06:55:48 PDT)-->
>> >> <!--
>> >>
>> >>
>> >> -->
>> >> <wsdl:types>
>> >> <schema targetNamespace="http://harps.sys.com/cmattWS"
>> >> tns1="http://harps.sys.com/cmattWS"
>> >> xmlns="http://www.w3.org/2001/XMLSchema"
>> >> elementFormDefault="qualified">
>> >> <complexType name="emailType">
>> >> <sequence>
>> >> <element name="to" type="xsd:string"/>
>> >> <element name="from" type="xsd:string"/>
>> >> <element name="subject" type="xsd:string"/>
>> >> <element name="body" type="xsd:string"/>
>> >> </sequence>
>> >> </complexType>
>> >> </schema>
>> >> </wsdl:types>
>> >> <!--
>> >>
>> >>
>> >> -->
>> >> <wsdl:message name="getNTSPResponse">
>> >> <wsdl:part name="getNTSPReturn" type="xsd:string"/>
>> >> </wsdl:message>
>> >> <wsdl:message name="getNTSPRequest">
>> >> <wsdl:part name="stage" type="xsd:string"/>
>> >> </wsdl:message>
>> >> <wsdl:message name="getUsersResponse">
>> >> <wsdl:part name="getUsersReturn" type="xsd:string"/>
>> >> </wsdl:message>
>> >> <wsdl:message name="getUsersRequest">
>> >> <wsdl:part name="role" type="xsd:string"/>
>> >> </wsdl:message>
>> >> <wsdl:message name="addDBUsersRequest">
>> >> <wsdl:part name="userRole" type="xsd:string"/>
>> >> </wsdl:message>
>> >> <wsdl:message name="addDBUsersResponse"/>
>> >> <wsdl:message name="sendEmailRequest">
>> >> <wsdl:part name="emailElement" type="impl:emailType"/>
>> >> </wsdl:message>
>> >> <wsdl:message name="sendEmailResponse"/>
>> >> <!--
>> >>
>> >>
>> >>
>> >> -->
>> >> <wsdl:portType name="UserInfo">
>> >> <wsdl:operation name="getUsers" parameterOrder="role">
>> >> <wsdl:input message="impl:getUsersRequest"
>> >> name="getUsersRequest"/>
>> >> <wsdl:output message="impl:getUsersResponse"
>> >> name="getUsersResponse"/>
>> >> </wsdl:operation>
>> >> <wsdl:operation name="addDBUsers" parameterOrder="userRole">
>> >> <wsdl:input message="impl:addDBUsersRequest"
>> >> name="addDBUsersRequest"/>
>> >> <wsdl:output message="impl:addDBUsersResponse"
>> >> name="addDBUsersResponse"/>
>> >> </wsdl:operation>
>> >> <wsdl:operation name="getNTSP" parameterOrder="stage">
>> >> <wsdl:input message="impl:getNTSPRequest"
>> >> name="getNTSPRequest"/>
>> >> <wsdl:output message="impl:getNTSPResponse"
>> >> name="getNTSPResponse"/>
>> >> </wsdl:operation>
>> >> <wsdl:operation name="sendEmail"
>> parameterOrder="emailElement">
>> >> <wsdl:input message="impl:sendEmailRequest"
>> >> name="sendEmailRequest"/>
>> >> <wsdl:output message="impl:sendEmailResponse"
>> >> name="sendEmailResponse"/>
>> >> </wsdl:operation>
>> >> </wsdl:portType>
>> >> <!--
>> >>
>> >>
>> >>
>> >> -->
>> >> <wsdl:binding name="UserInfoSoapBinding" type="impl:UserInfo">
>> >> <wsdlsoap:binding style="document"
>> >> transport="http://schemas.xmlsoap.org/soap/http"/>
>> >> <wsdlsoap:operation soapAction=""/>
>> >> <wsdl:input name="getUsersRequest">
>> >> <wsdlsoap:body use="literal"/>
>> >> </wsdl:input>
>> >> <wsdl:output name="getUsersResponse">
>> >> <wsdlsoap:body use="literal"/>
>> >> </wsdl:output>
>> >> </wsdl:operation>
>> >> <wsdlsoap:operation soapAction=""/>
>> >> <wsdl:input name="addDBUsersRequest">
>> >> <wsdlsoap:body use="literal"/>
>> >> </wsdl:input>
>> >> <wsdl:output name="addDBUsersResponse">
>> >> <wsdlsoap:body use="literal"/>
>> >> </wsdl:output>
>> >> </wsdl:operation>
>> >> <wsdlsoap:operation soapAction=""/>
>> >> <wsdl:input name="getNTSPRequest">
>> >> <wsdlsoap:body use="literal"/>
>> >> </wsdl:input>
>> >> <wsdl:output name="getNTSPResponse">
>> >> <wsdlsoap:body use="literal"/>
>> >> </wsdl:output>
>> >> </wsdl:operation>
>> >> <wsdlsoap:operation soapAction=""/>
>> >> <wsdl:input name="sendEmailRequest">
>> >> <wsdlsoap:body use="literal"/>
>> >> </wsdl:input>
>> >> <wsdl:output name="sendEmailResponse">
>> >> <wsdlsoap:body use="literal"/>
>> >> </wsdl:output>
>> >> </wsdl:operation>
>> >> </wsdl:binding>
>> >> <!--
>> >>
>> >>
>> >>
>> >> -->
>> >> <wsdl:service name="UserInfoService">
>> >> <wsdl:port binding="impl:UserInfoSoapBinding" name="UserInfo">
>> >> <wsdlsoap:address
>> >> location="http://ssood:8080/cmatt-1/services/UserInfo"/>
>> >> </wsdl:port>
>> >> </wsdl:service>
>> >>
>> >> </wsdl:definitions>
>> >>
>> >> The parameter of my web service is "emailElement" but I'm not sure why
>> it
>> >> is
>> >> looking for it as an operation. Thanks for any suggestions!! :)
>> >>
>> >> -- Shanna --
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > For additional commands, e-mail: [EMAIL PROTECTED]
>> >
>> >
>> >
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
--
View this message in context:
http://www.nabble.com/No-Such-Operation-%27xxx%27-tf3792816.html#a10728972
Sent from the Axis - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]