整合axis1.3和weblogic8.1,目前简单的webservice已经发布成功,但是,在使用deploy.wsdd进行部署时出现错误,下面是我的
deploy.wsdd<deployment xmlns="http://xml.apache.org/axis/wsdd/"
            xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="HelloWorldWSDD" provider="java:RPC">
<parameter name="className" value="server.HelloWorldWSDD"/>
<parameter name="allowedMethods" value="*"/>
<parameter name="scope" value="request"/>
</service>
</deployment>结果运行该文件报
Exception: AxisFault
 faultCode: {http://xml.apache.org/axis/}HTTP
 faultSubcode:
 faultString: (401)Unauthorized
 faultActor:
 faultNode:
 faultDetail:
        {}:return code:  401
&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML 2.0//EN&quot;&gt;
&lt;HTML&gt;&lt;HEAD&gt;
&lt;TITLE&gt;401 Unauthorized&lt;/TITLE&gt;
&lt;/HEAD&gt;&lt;BODY&gt;&lt;H1&gt;Unauthorized&lt;/H1&gt;
&lt;/BODY&gt;&lt;/HTML&gt;        {http://xml.apache.org/axis/}HttpErrorCode:401
查了axis自带的例子,也查了一下午google\baidu了,没发现一个合适的解决办法,求高手帮忙指点迷津……

解决方案 »

  1.   

    nnd,终于搞定了,完整版如下,要是能帮助需要的兄弟,那是最好不过了,我的环境是weblogic8,
    第一步:在weblogic8中通过Configuration wizard创建一个应用,叫axis
    第二步:下载axis-bin-1_4,解压后把其中的webapps下的项目axis放到第一步创建的项目的applications中
    第三步:修改第一步创建的axis目录下的startWebLogic.cmd,把其中的set CLASSPATH=整个替换为
    Set AXIS_LIB=D:\bea\user_projects\domains\axis1\applications\axis\WEB-INF\libset AXISCLASSPATH=%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\xml-apis-1.3.03.jar;%AXIS_LIB%\xercesImpl-2.8.1.jar;%AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\activation-1.1.jar;%AXIS_LIB%\mail-1.4.jar;%AXIS_LIB%\xmlsec-1.4.3.jar
    set CLASSPATH=%AXISCLASSPATH%;%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;%JAVA_HOME%\jre\lib\rt.jar;%WL_HOME%\server\lib\webservices.jar;%CLASSPATH%
    第四步,创建简单的webservice服务的话,写一个服务类,然后不要编译直接把java改为jws,把这个文件放到第二步目录下,即applications\axis\记着这个服务类中没有pacake打包语句.然后直接写一个测试类调用即可.这些你可以在axis自带的包中找到相应的例子第五步:要创建带包的服务程序的话,你首先要创建一个带pacakge语句的程序,编译后,连包加代码放到applications\axis\web-inf\classes中去,接着在applications\axis\WEB-INF目录下编写deploy.wsdd文件,就和我上面写的一样,最后编一个bat,我的叫deploy.bat,里面内容为
    set Axis_Lib=D:\bea\user_projects\domains\axis1\applications\axis\WEB-INF\lib
    set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
    set Axis_Servlet=http://localhost:7001/axis/servlet/AxisServlet
    %Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd
    cmd运行一下就有你想得到的内容了,唉,一个人的战争
      

  2.   

      
       我来接分啦, 亲爱的楼主。。    
        说实话, 现在用 axis1 太老了, 你用的 存根还是直接用 Call 来调用的 ?
      

  3.   

    直接用call掉的,终于看到接分的了