使用eclipse建立一个axis客户端测试

来源:互联网 发布:国家级贫困县 知乎 编辑:程序博客网 时间:2024/05/29 08:13

1. 在AXIS下建立一个JWS文件:SayHello.jws
public class SayHello {
      public String getName(String name) {
            return "hello "+name;
      }
 }
2. 打开 ECLIPSE,新建立一个项目: AXISTEST。 (JAVA项目)
需要的LIB文件: axis.jar, jaxrpc.jar, wsdl4j-1.5.1.jar, commons-logging-1.0.4.jar, log4j-1.2.8.jar, commons-discovery-0.2.jar, saaj.jar, xercesImpl.jar, xml-apis.jar, activation.jar, mail.jar
SRC代码:
SayHelloClient.java:
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;
import java.net.MalformedURLException;
import java.rmi.RemoteException;

     public class SayHelloClient {
            public static void main(String[] args) {
                try {
                    String endpoint = "http://localhost:1234/axis/SayHello.jws";
                    Service service = new Service();
                    Call call = null;
                    call = (Call) service.createCall();
                    call.setOperationName(new QName("http://localhost:1234/axis/SayHello.jws",
      "getName"));
                    call.setTargetEndpointAddress(new java.net.URL(endpoint));
                    String ret = (String) call.invoke(new Object[] {"someone's name"});
                    System.out.println("return value is " + ret);
                }
                catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
        }


3. src下配置: log4j.properties
# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE
#log4j.rootCategory=INFO, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

 

3. Deploying by wsdd
1. set classpath:
AXIS_HOME: F:/axis-1_4
AXIS_LIB: %AXIS_HOME%/lib
AXISCLASSPATH: %AXIS_LIB%/axis.jar;%AXIS_LIB%/jaxrpc.jar;%AXIS_LIB%/saaj.jar;%AXIS_LIB%/commons-logging-1.0.4.jar;%AXIS_LIB%/commons-discovery-0.2.jar;%AXIS_LIB%/wsdl4j-1.5.1.jar;%AXIS_LIB%/activation.jar;%AXIS_LIB%/mail.jar
%AXIS_HOME%/
classpath: %JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/jre/lib/rt.rar;%AXISCLASSPATH%
2. deploy.wsdd: F:/axis-1_4/samples/example1/
java org.apache.axis.client.AdminClient -p1234 deploy.wsdd
3. testing:

原创粉丝点击