一样的程序,在WSAD5.1中运行正常,但在WebSphere5中用网页调用时webService时提示
axis fault,404 not found
与webService没有配置好的提示一样。
稍后我把配置发上来,大家帮忙看看什么原因。
axis fault,404 not found
与webService没有配置好的提示一样。
稍后我把配置发上来,大家帮忙看看什么原因。
解决方案 »
- java web 项目 中引用另一个项目
- 面试问题:举个实际例子说明swtich…case的用法和使用约束?
- struts1 <html:link href="b.jsp">传参问题
- 快递价格的实现
- 请问如何在J2EE应用中向MSN发送提醒消息?
- 谁能给个简单Java事务处理的程序
- 用struts标签实现 "显示查询结果" 页面??????????????????????????
- java 初学者的一个小问题,解决后马上给分,在线等。
- XML和Java到底是什么关系!
- 身份证正则表达式问题
- 如何取得iterator里面的值
- eclipse无法识别java.rmi.RemoteException这个包
activation-1.1.jar
antlr.jar
axis.jar
axis-ant.jar
commons-attributes-api.jar
commons-attributes-compiler.jar
commons-beanutils.jar
commons-codec.jar
commons-collections.jar
commons-collections-3.1.jar
commons-dbcp-1.2.1.jar
commons-digester.jar
commons-discovery-0.2.jar
commons-el.jar
commons-fileupload.jar
commons-lang.jar
commons-lang-2.0.jar
commons-logging.jar
commons-logging-1.0.4.jar
commons-pool-1.2.jar
commons-validator.jar
dtdparser119.jar
jakarta-oro.jar
jaxen-1.1-beta-6.jar
jaxp.jar
jaxrpc.jar
jce.jar
jstl.jar
junit.jar
log4j-1.2.9.jar
mail-1.4.jar
netscape.jar
parser.jar
saaj.jar
server.jar
servlet-api.jar
spring.jar
standard.jar
struts.jar
sunjce_provider.jar
wsdl4j-1.5.1.jar
xercesImpl.jar
xml-apis.jar--------------------------------------------------------------------------------------
WEB-INFO\web.xml内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp">
<display-name></display-name><listener>
<!--axis config-->
<!-- webService config begin -->
<listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener</listener-class>
<!-- webService config end -->
</listener>
<!-- webService config begin -->
<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet><servlet>
<servlet-name>AdminServlet</servlet-name>
<servlet-class> org.apache.axis.transport.http.AdminServlet</servlet-class>
<load-on-startup>101</load-on-startup>
</servlet><servlet>
<servlet-name>SOAPMonitorService</servlet-name>
<display-name>SOAPMonitorService</display-name>
<servlet-class>org.apache.axis.monitor.SOAPMonitorService</servlet-class>
<init-param>
<param-name>SOAPMonitorPort</param-name>
<param-value>5001</param-value>
</init-param>
<load-on-startup>102</load-on-startup>
</servlet>
<!-- webService config end -->
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping><servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping><servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping><servlet-mapping>
<servlet-name>SOAPMonitorService</servlet-name>
<url-pattern>/SOAPMonitor</url-pattern>
</servlet-mapping><servlet-mapping>
<servlet-name>AdminServlet</servlet-name>
<url-pattern>/servlet/AdminServlet</url-pattern>
</servlet-mapping><session-config>
<!-- Default to 5 minute session timeouts -->
<session-timeout>5</session-timeout>
</session-config> <!-- currently the W3C havent settled on a media type for WSDL;
http://www.w3.org/TR/2003/WD-wsdl12-20030303/#ietf-draft
for now we go with the basic 'it's XML' response -->
<mime-mapping>
<extension>wsdl</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xsd</extension>
<mime-type>text/xml</mime-type>
</mime-mapping><!--axis config end --> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list> <resource-ref>
<description>Oracle Datasource</description>
<res-ref-name>jdbc/myoracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
</web-app>
WEB-INFO\server-config.wsdd文件内容
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<globalConfiguration>
<parameter name="sendMultiRefs" value="true"/>
<parameter name="disablePrettyXML" value="true"/>
<parameter name="adminPassword" value="admin"/>
<parameter name="attachments.Directory" value="/WEB-INF/attachments"/>
<parameter name="dotNetSoapEncFix" value="true"/>
<parameter name="enableNamespacePrefixOptimization" value="false"/>
<parameter name="sendXMLDeclaration" value="true"/>
<parameter name="sendXsiTypes" value="true"/>
<parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
<requestFlow>
<handler type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="session"/>
</handler>
<handler type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="request"/>
<parameter name="extension" value=".jwr"/>
</handler>
</requestFlow>
</globalConfiguration>
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
<service name="AdminService" provider="java:MSG">
<parameter name="allowedMethods" value="AdminService"/>
<parameter name="enableRemoteAdmin" value="false"/>
<parameter name="className" value="org.apache.axis.utils.Admin"/>
<namespace>http://xml.apache.org/axis/wsdd/</namespace>
<namespace>http://xml.apache.org/axis/wsdd/</namespace>
</service>
<!-- Mic begin -->
<service name="mic" provider="java:RPC">
<parameter name="allowedMethods" value="getSale"/>
<parameter name="className" value="test.Mic"/>
</service>
<!-- Mic end -->
<service name="Version" provider="java:RPC">
<parameter name="allowedMethods" value="getVersion"/>
<parameter name="className" value="org.apache.axis.Version"/>
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper"/>
<handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
</requestFlow>
<parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>
<parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
<parameter name="qs.list" value="org.apache.axis.transport.http.QSListHandler"/>
<parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler"/>
<parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>
<parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
</transport>
<transport name="local">
<responseFlow>
<handler type="LocalResponder"/>
</responseFlow>
</transport>
</deployment>--------------------------------------------------------------------------------------
XytClient.java内容
package test;import org.apache.axis.client.Call;
import org.apache.axis.client.Service;public class XytClient {
/**
* 测试 webService
* @param args
* @return
* @throws Exception
*/
public String invokeWs(String[] args) throws Exception {
// 指出service所在URL
String instantName = "mic";
String methodName="getSale";//
String url = "http://localhost:9081/myproject/services/";
String[] param = null;
param = new String[] { "1037020300590","20080122","20080122" };
String endpoint = url + instantName;
// 创建一个服务(service)调用(call)
Service service = new Service();
Call call = (Call) service.createCall();// 通过service创建call对象
// 设置service所在URL
call.setTargetEndpointAddress(new java.net.URL(endpoint));
// 方法名(processService)与MyService.java方法名保持一致
call.setOperationName(methodName);
// Object 数组封装了参数,参数为"This is Test!",调用processService(String arg)
String ret = "";
try {
ret = (String) call.invoke(param); //此处出错下行不打日志
System.out.println(ret);
} catch (Exception e) {
System.out.println(e);//此处提示404 not found
}
return ret;
}
}--------------------------------------------------------------------------------------
testWs.jsp文件内容
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="test.XytClient" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
try{
XytClient xytClient = new XytClient();
String ret = xytClient.invokeWs(null);
out.println(ret);
}catch(Exception e){
out.println("发生异常:"+e.getMessage());
}
%>
--------------------------------------------------------------------------------------
Mic.java
package testpublic class Mic { public String getSale(String custId,String begDate,String endDate) {
System.out.println("custId:" + custId);//此行未能打印出来,说明客户端没有成功调用webService
}}
--------------------------------------------------------------------------------------
执行
http://localhost:9081/myproject/testWs.jsp
出现提示 axis fault 404 not found一样的环境在WSAD的开发环境就正常,发布到WebSphere调用不了webService。
发布时打成ear包覆盖老项目就行了。
直接发文件不行。