谁有关于axis中的wsdd定义文件??

ublue 2003-02-27 07:15:02
谁有关于axis中的wsdd定义文件??
...全文
180 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Norwaywoods 2003-03-03
  • 打赏
  • 举报
回复
我想可能是你的MyRPCProvider类所在的包与org.apache.axis.provider.java.RPCProvider类不同,也许Axis需要动态的加载这个类。而你的类又与其他的类不再同一个包内。没有访问的权限吧。

仅仅是猜测而已。如果你能构把你全部的代码都贴出就好了(我是除了MyRPCProvider类)
ublue 2003-03-03
  • 打赏
  • 举报
回复
有没有人能帮我解决啊??
ublue 2003-02-28
  • 打赏
  • 举报
回复
com.ublue.provider.MyRPCProvider代码和apache提供的axis源代码中的RPCProvider一样。唯一不同的地方就是类名不同而矣!由于回帖字数限制,我仅摘录部分如下:



package com.ublue.provider;

import org.apache.axis.AxisFault;
import org.apache.axis.Constants;
import org.apache.axis.MessageContext;
import org.apache.axis.components.logger.LogFactory;
import org.apache.axis.description.OperationDesc;
import org.apache.axis.description.ParameterDesc;
import org.apache.axis.description.ServiceDesc;
import org.apache.axis.enum.Style;
import org.apache.axis.handlers.soap.SOAPService;
import org.apache.axis.message.RPCElement;
import org.apache.axis.message.RPCHeaderParam;
import org.apache.axis.message.RPCParam;
import org.apache.axis.message.SOAPBodyElement;
import org.apache.axis.message.SOAPEnvelope;
import org.apache.axis.soap.SOAPConstants;
import org.apache.axis.utils.JavaUtils;
import org.apache.axis.utils.Messages;
import org.apache.commons.logging.Log;
import org.xml.sax.SAXException;

import javax.xml.namespace.QName;
import javax.xml.rpc.holders.Holder;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Vector;

/**
* Implement message processing by walking over RPCElements of the
* envelope body, invoking the appropriate methods on the service object.
*
* @author Doug Davis (dug@us.ibm.com)
*/
public class MyRPCProvider extends JavaProvider {
protected static Log log =
LogFactory.getLog(MyRPCProvider.class.getName());
…………
…………
…………
}


Norwaywoods 2003-02-27
  • 打赏
  • 举报
回复
你这个com.ublue.provider.RPCProvider类和org.apache.axis.provider.java.MyRPCProvider类的代码,贴出来。方便的话!
ublue 2003-02-27
  • 打赏
  • 举报
回复
或者这样请教你一个问题:
我想自己定义一个Provider,定义了如下一个wsdd文件。
<…>
<service name="urn:MyHelloWorld" provider="Handler">
<parameter name="handlerClass"
value="com.ublue.provider.MyRPCProvider"/>
<parameter name="allowedMethods" value="sayHelloWorld"/>
<parameter name="className" value="com.ublue.service.HelloWorld"/>
</service>
<…>

其中com.ublue.provider.MyRPCProvider与org.apache.axis.provider.java.RPCProvider几乎完全一样,但在客户端激活sayHelloWorld方法时,出现IllegalAccessException异常。

但将wsdd文件改为如下时:

<…>
<service name="urn:MyHelloWorld" provider="Handler">
<parameter name="handlerClass"
value="com.ublue.provider.RPCProvider"/>
<parameter name="allowedMethods" value="sayHelloWorld"/>
<parameter name="className" value="com.ublue.service.HelloWorld"/>
</service>
<…>
其中com.ublue.provider.RPCProvider与org.apache.axis.provider.java.RPCProvider代码几乎一致。
此时客户端激活sayHelloWorld方法时,运行OK。。

在这里,请问在axis怎样加入自己的provider??

我的e-mail:tdm2000@163.net
希望有机会向你请教axis方面的知识。
Norwaywoods 2003-02-27
  • 打赏
  • 举报
回复
这个文件不需要别人给,是你自己编辑的。用任何文本编辑器都可以写!

写法详见:
http://cvs.apache.org/viewcvs.cgi/~checkout~/xml-axis/java/docs/user-guide.html

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧