jsp中如何调用web service (vb.net写的,目前在asp中调用没有问题!)
下面是我调用的代码:各位看看有什么问题!
<%@ page language="java"%>
<%@ page import="java.net.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.rmi.*"%>
<%@ page import="javax.xml.namespace.QName" %>
<%@ page import="org.apache.axis.client.Service" %>
<%@ page import="org.apache.axis.client.Call" %>
<%@ page import="javax.xml.rpc.ParameterMode" %>
<%
String location="http://localhost/goodsservice.asmx?wsdl";
URL url = new URL(location);
Call call = new Call(url);
call.setUseSOAPAction(true);
call.setTargetEndpointAddress(new java.net.URL(location));
//call.setSOAPActionURI("http://localhost/goodsservice.asmx");
call.setOperationName(new QName("http://localhost/goodsservice/","TestAccount"));
call.addParameter("SiteID",org.apache.axis.Constants.XSD_STRING,ParameterMode.IN);
call.addParameter("password",org.apache.axis.Constants.XSD_STRING,ParameterMode.IN);
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
String number = (String)call.invoke(new Object[] {"123", "123"});
System.out.println(number);
%>
执行以后老是提示:(我用的是tomcat4.1)
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: System.Web.Services.Protocols.SoapException: 服务器未能识别 HTTP 标头 SOAPAction 的值:。
at System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()
at System.Web.Services.Protocols.SoapServerProtocol.Initialize()
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
.......
请各位大哥帮忙,谢谢!!!