WebSphere5.0发布了axis的webService提示axis fault 一样的程序,在WSAD5.1中运行正常,但在WebSphere5中用网页调用时webService时提示axis fault,404 not found与webService没有配置好的提示一样。稍后我把配置发上来,大家帮忙看看什么原因。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 WEB-INFO\lib下的jar包activation-1.1.jarantlr.jaraxis.jaraxis-ant.jarcommons-attributes-api.jarcommons-attributes-compiler.jarcommons-beanutils.jarcommons-codec.jarcommons-collections.jarcommons-collections-3.1.jarcommons-dbcp-1.2.1.jarcommons-digester.jarcommons-discovery-0.2.jarcommons-el.jarcommons-fileupload.jarcommons-lang.jarcommons-lang-2.0.jarcommons-logging.jarcommons-logging-1.0.4.jarcommons-pool-1.2.jarcommons-validator.jardtdparser119.jarjakarta-oro.jarjaxen-1.1-beta-6.jarjaxp.jarjaxrpc.jarjce.jarjstl.jarjunit.jarlog4j-1.2.9.jarmail-1.4.jarnetscape.jarparser.jarsaaj.jarserver.jarservlet-api.jarspring.jarstandard.jarstruts.jarsunjce_provider.jarwsdl4j-1.5.1.jarxercesImpl.jarxml-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.javapackage 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包覆盖老项目就行了。直接发文件不行。 页面内容的放大、缩小 高分,Apache和Tomcat整合后无法解析PHP Exception starting filter struts2如何解决 初学者关于JAVA数据库开发的一个问题 大家好啊,关于jboss和ejb我有两个问题不是很明白,请教一下,希望懂的人能不吝赐教 公司员工的对象如何建模 hibernate的复合主键映射 这个程序哪里错了,感觉对的啊...菜鸟..呵呵 最近有空,做了一个论坛,散分中。 项目在A服务器 ,上传的图片要保存在B服务器 如何取得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包覆盖老项目就行了。
直接发文件不行。