我目前正在尝试从我编写的Web应用程序中调用Web服务。我的Web应用程序只有一个表单字段,要求用户在JSP页面中输入一个电子邮件地址,然后将其发送到另一个名为process.jsp的JSP页面进行处理。在process.jsp中,我想调用一个确认电子邮件地址有效性的Web服务。
我一直在尝试调用此网址上的以下网络服务:
http://www.xmethods.com/ve2/ViewListing.po?key=uuid:4506DD11-6A4F-2BF3-2DBE-EED251ABAA2A
我的代码如下:
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
public class ClientEmailValidate {
public static void main(String[] args) throws AxisFault {
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
// Setting the endpoint resource
EndpointReference targetEPR = new EndpointReference
("http://ws.cdyne.com/emailverify/Emailvernotestemail.asmx");
options.setTo(targetEPR);
// Getting the operation based on the targetnamespace
QName opGetExchange = new QName
("http://ws.cdyne.com", "VerifyEmail");
String email = "someEmail@hotmail.com";
// preparing the arguments
Object[] opGetExchangeArgs = new Object[] { email };
// preparing the return type
Class[] returnTypes = new Class[] { String.class };
// invoking the service passing in the arguments and getting the
// response
Object[] response = serviceClient.invokeBlocking(opGetExchange,
opGetExchangeArgs, returnTypes);
// obtaining the data from the response
String result = (String) response[0];
// Displaying the result
System.out.println("Result : " + result);
}
}
我在这里做错了吗?我很擅长使用网络服务,所以请耐心等待我。
谢谢!
答案 0 :(得分:1)
您可以使用以下命令生成存根,然后一切都很简单
WSDL2Java -uri wsdl-url -p package-of-stub -d adb -s