您的位置:

javawsdl的简单介绍

本文目录一览:

Java调用wsdl,怎么实现

java调用wsdl的步骤如下,主要是使用第三方框架:

步骤如下:

1.下载AXIS2类库,AXIS2是目前java调用webservice的一个主要方法(由于更新较频繁,请自行google该类库的网址)

2.由于是第三方webservice,直接引入AXIS2的包就可以用了,代码如下:

import java.rmi.RemoteException;

import javax.xml.rpc.ParameterMode;

import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

import org.apache.axis.encoding.XMLType;

 

public class webServiceTest {

    public String invokeRemoteFuc() {

        String endpoint = "";

        String result = "no result!";

        Service service = new Service();

        Call call;

        Object[] object = new Object[1];

        object[0] = "Dear I miss you";//Object是用来存储方法的参数

        try {

            call = (Call) service.createCall();

            call.setTargetEndpointAddress(endpoint);// 远程调用路径

            call.setOperationName("say");// 调用的方法名

 

            // 设置参数名:

            call.addParameter("str1", // 参数名

                    XMLType.XSD_STRING,// 参数类型:String

                    ParameterMode.IN);// 参数模式:'IN' or 'OUT'

 

            // 设置返回值类型:

            call.setReturnType(XMLType.XSD_STRING);// 返回值类型:String         

 

            result = (String) call.invoke(object);// 远程调用

        } catch (ServiceException e) {

            e.printStackTrace();

        } catch (RemoteException e) {

            e.printStackTrace();

        }

        return result;

    }

 

    public static void main(String[] args) {

        webServiceTest t = new webServiceTest();

        String result = t.invokeRemoteFuc();

        System.out.println(result);

    }

}

该方法的原理很简单,通过AXIS2封装好的类设置URL和参数,直接调用就好了,我们要关注的就是设置URL,方法,还有方法的参数,其他的copypaste好啦,很简单吧,再看看其他的方法,我勒个去了,害我瞎搞两天。迟点上个源码共大家参考!

Java怎么实现wsdl发送xml

步骤如下:

1.下载AXIS2类库,AXIS2是目前java调用webservice的一个主要方法(由于更新较频繁,请自行google该类库的网址)

2.由于是第三方webservice,直接引入AXIS2的包就可以

代码如下:

import java.rmi.RemoteException;

import javax.xml.rpc.ParameterMode;

import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

import org.apache.axis.encoding.XMLType;

public class webServiceTest {

public String invokeRemoteFuc() {

String endpoint = "";

String result = "no result!";

Service service = new Service();//新建一个service

Call call;

Object[] object = new Object[1];

object[0] = "Dear I miss you";//Object是用来存储方法的参数

try {

call = (Call) service.createCall();

call.setTargetEndpointAddress(endpoint);// 远程调用路径

call.setOperationName("say");// 调用的方法名

// 设置参数名:

call.addParameter("str1", // 参数名

XMLType.XSD_STRING,// 参数类型:String

ParameterMode.IN);// 参数模式:'IN' or 'OUT'

// 设置返回值类型:

call.setReturnType(XMLType.XSD_STRING);// 返回值类型:String

result = (String) call.invoke(object);// 远程调用

} catch (ServiceException e) {

e.printStackTrace();

} catch (RemoteException e) {

e.printStackTrace();

}

return result;//返回值

}

public static void main(String[] args) {

webServiceTest t = new webServiceTest();

String result = t.invokeRemoteFuc();

System.out.println(result); //输出

}

}

通过AXIS2封装好的类设置URL和参数,直接调用。

java webservice怎么生成wsdl文件

在大多数情况下我们都需要为我们的服务提供一个WSDL文件,而 Axis2's Java2WSDL 是专门用来生成WSDL文件的D专用工具,如果你要在命令行模式下进行生成WSDL文件,首先需要保证你的环境变量AXIS2_HOME是否已经配置OK,同时还要保证把%AXIS2_HOME%\bin加入到你的path环境中,要生成 WSDL文件,首先要保证你的class能够编译成功,而且已经编译成功,然后进入class文件编译后的根目录(在JBuilder中是classes,在Eclipse中是bin目录)这时,生成WSDL文件的准备工作已经OK。\x0d\x0a\x0d\x0a下面是生成WSDL文件时的可选参数和参数说明:\x0d\x0a---------------------------------------------------------------------------------\x0d\x0aUsage java2wsdl -cn : class file name\x0d\x0a-o : output file location\x0d\x0a\x0d\x0a-cp : list of classpath entries - (urls)\x0d\x0a\x0d\x0a-tn : target namespace\x0d\x0a\x0d\x0a-tp : target namespace prefix\x0d\x0a\x0d\x0a-stn : target namespace for schema\x0d\x0a\x0d\x0a-stp : target namespace prefix for schema\x0d\x0a\x0d\x0a-sn : service name\x0d\x0a\x0d\x0a-of : output file name for the WSDL\x0d\x0a\x0d\x0a-st : style for the WSDL\x0d\x0a\x0d\x0a-u : use for the WSDL\x0d\x0a\x0d\x0a-l : address of the port for the WSDL\x0d\x0a\x0d\x0a-nsg : fully qualified name of the class that implements NamespaceGenerator\x0d\x0a\x0d\x0a-p2n [,,] ...\x0d\x0a\x0d\x0a-efd : Setting for elementFormDefault (defaults to qualified)\x0d\x0a\x0d\x0a-afd : Setting for attributeFormDefault (defaults to qualified)\x0d\x0a\x0d\x0a-xc : Extra class for which schematype must be generated.\x0d\x0aUse as : -xc class1 -xc class2 ...\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a典型地,进入你的工程的二进制编译根目录,执行命令模板如下:\x0d\x0ajava2wsdl -cp . -cn [PACKAGENAME].[CLASSNAME]-of [FILENAME].wsdl\x0d\x0a\x0d\x0a现在我们假设在samples.helloworld.service.axiom;包下面有个HelloWorldService类,工程的类文件编译后存放在build\classes目录下,那么,首先进入该目录中,然后执行以下命令:\x0d\x0ajava2wsdl -cp . -cn samples.helloworld.service.axiom.HelloWorldService -of HelloWorldService.wsdl\x0d\x0a\x0d\x0a执行后的CMD提示如下说明已经成功执行了:\x0d\x0a\x0d\x0aUsing AXIS2_HOME: D:\axis2-1.1.1\x0d\x0aUsing JAVA_HOME: C:\Program Files\Java\jdk1.5.0_06

JAX-WS用什么命令从JAVA代码生成WSDL文档?

你好,使用java自带的wsgen命令生成wsdl文件,前提是需要开发机器上安装并配置好了java环境变量。

操作步骤如下:

在cmd下,切换到项目(wsproject)目录下,输入如下命令:D:\wsprojectwsgen -cp WebRoot/WEB-INF/classes/ -r WebRoot/WEB-INF/wsdl -s src -d WebRoot/WEB-INF/classes -wsdl name.zeal.service.MySrv

执行完毕后,会在WebRoot/WEB-INF/wsdl下生成两个文件:MySrvService.wsdl和MySrvService_schema1.xsd

如果接口客户端只能用一个wsdl文件,那就得使用内嵌模式的WSDL文件命令生成单个文件了。示例:D:\wsprojectwsgen -cp WebRoot\WEB-INF\classes\ -r WebRoot/WEB-INF/wsdl -s src -d WebRoot/WEB-INF/classes -wsdl -inlineSchemas name.zeal.service.MySrv

注意事项:如果要用到wsgen,则必须需要对Service实现的Java代码进行标注注解,否则wsgen无法识别到这是一个WebService