java生成xsd
❶ 如何用java调用参数类型为xsd:dateTime的webservice
格式[-]CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]
Valid values for xsd:dateTime include: 2001-10-26T21:32:52, 2001-10-26T21:32:52+02:00, 2001-10-26T19:32:52Z, 2001-10-26T19:32:52+00:00, -2001-10-26T21:32:52, or 2001-10-26T21:32:52.12679.
The following values are invalid: 2001-10-26 (all the parts must be specified), 2001-10-26T21:32 (all the parts must be specified), 2001-10-26T25:32:52+02:00 (the hours part—25—is out of range), or 01-10-26T21:32 (all the parts must be specified).
❷ JAX-WS用什么命令从JAVA代码生成WSDL文档
你好,使用java自带的wsgen命令生成wsdl文件,前提是需要开发机器上安装并配置好了java环境变量。
操作步骤如下:
在cmd下,切换到项目(wsproject)目录下,输入如下命令:D:wsproject>wsgen -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:wsproject>wsgen -cp WebRootWEB-INFclasses -r WebRoot/WEB-INF/wsdl -s src -d WebRoot/WEB-INF/classes -wsdl -inlineSchemas name.zeal.service.MySrv
注意事项:如果要用到wsgen,则必须需要对Service实现的Java代码进行标注注解,否则wsgen无法识别到这是一个WebService
❸ Java如何把任意xsd转成xml
xsd就是xml schema,可以利用以下方法生成xml:
Schema文件定义如下:<o:p></o:p>
<!----><o:p></o:p>
<xs:schema xmlns="http://mydomain.com/myApp"xmlns:xs="http://www.w3.org/2001/XMLSchema"targetNamespace="http://mydomain.com/myApp" elementFormDefault="qualified"attributeFormDefault="unqualified"><o:p></o:p>
<xs:element name="e1"><o:p></o:p>
<xs:complexType><o:p></o:p>
<xs:sequence><o:p></o:p>
<xs:element name="e11" type="xs:int"/><o:p></o:p>
<xs:element name="e12"><o:p></o:p>
<xs:complexType><o:p></o:p>
<xs:attribute name="e121" type="xs:string" use="required"/><o:p></o:p>
<xs:attribute name="e122" type="xs:long"/><o:p></o:p>
xs:complexType><o:p></o:p>
xs:element><o:p></o:p>
xs:sequence><o:p></o:p>
xs:complexType><o:p></o:p>
xs:element><o:p></o:p>
xs:schema><o:p></o:p>
<o:p> </o:p>
解析代码如下:
import org.apache.xmlbeans.*;
import com.mydomain.myApp.E1Document;
public class OutputXml {
/**
* 其中e11=11 e121=”e121”
* @param args
*/
public static void main(String args[]) {
E1Document e1Document;
E1Document.E1 E1Element;
E1Document.E1.E12 E1e2Element;
XmlOptions xmlOptions;
e1Document = E1Document.Factory.newInstance();
E1Element = e1Document.addNewE1();
E1e2Element=E1Element.addNewE12();
E1Element.setE11(11);
E1e2Element.setE121("e121");
/**
* 如果需要设置setE122的值请打开,由于xsd文件定义的元素不是必须的.
*/
//E1e2Element.setE122();
xmlOptions = new XmlOptions();
xmlOptions.setSavePrettyPrint();
xmlOptions.setSavePrettyPrintIndent(4);
String xmlStr = e1Document.xmlText(xmlOptions);
System.out.println("XML Instance Document is : \n" + xmlStr );
}
}
❹ 如何根据xml和schema文件生成java类(用程序实现)!
验证应该好写吧,主要是解析xml
可以使用工具包dom4j
类似例子
dom4j参见http://javacrazyer.iteye.com/blog/727298
publicstaticvoidreadXML()throwsDocumentException{
SAXReadersr=newSAXReader();//获取读取xml的对象。
Documentdoc=sr.read("src/com/pzr/test//test.xml");//得到xml所在位置。然后开始读取。并将数据放入doc中
Elementel_root=doc.getRootElement();//向外取数据,获取xml的根节点。
Iteratorit=el_root.elementIterator();//从根节点下依次遍历,获取根节点下所有子节点
while(it.hasNext()){//遍历该子节点
Objecto=it.next();//再获取该子节点下的子节点
Elementel_row=(Element)o;
Strings=el_row.getText();
Iteratorit_row=el_row.elementIterator();
while(it_row.hasNext()){//遍历节点
Elementel_ename=(Element)it_row.next();//获取该节点下的所有数据。
System.out.println(el_ename.getText());
}
}
}
❺ wsdl文件生成的java类怎么用
根据wsdl文件生成webservice代码下边我们可以根据这个Axis2Demo.wsdl文件生成java代码,这些代码用于客户端和服务器端进行连接,也有客户端的代码。生成代码的具体步骤如下:选择菜单“File->New->Other”,从对话框中选取“Axis2Wizards”下面的“Axis2CodeGenerator”点击Next下一步进入如下页面:点击Next下一步进入如下页面:在该页面选择刚才建好的Axis2Demo.wsdl文件点击Next下一步进入如下页面:在上边的图中选中custom和GenrateAll注意:上图中的Custompackagename是客户端代码的包名字这里把它改为:com.neusoft.axis2demo.client做为客户端的包名。然后点击Next下一步:进入如下图在OoutputPath这项选中工程的根目录作为这些自动生成代码的目录.然后点击finish完成代码生成工作.下图为生成代码后的工程目录结构下边介绍一下生成的代码的用途其中包(1):com.neusoft.axis2demo.client是客户端代码,第三方使用的.(2):com.neusoft.axis2demo.services.xsd是第三方调用webservice的传入参数和返回参数.(3):com.neusoft.axis2demo.common.xsd中的类是(2)的参数。其中第三方只需要调用com.neusoft.axis2demo.client中的Axis2DemoStub类中的nameConvertToContext方法就行了这个类的雏形是下边这样的。publiccom.neusoft.axis2demo.services.xsd.(com.neusoft.axis2demo.services.xsd.NameConvertToContextparam22)throwsjava.rmi.RemoteException{return(com.neusoft.axis2demo.services.xsd.NameConvertToContextResponse)object;//TODO}其中红色部分是(2)包中的类他们作为参数传入和返回,同时红色的类中也有set和get方法用来存储(3)com.neusoft.axis2demo.common.xsd包中的类.
❻ java 如何生成wsdl文件
原则上,你可以先把JAVA生成.net的文件,然后根据以下其中一个方法,转变为WSDL
在.NET中有三种方式生成WSDL:
1.在Web Service的URL后面加上WDSL需求,如下:
http://localhost/webExamples/simpleService.asmx?WSDL
2.使用disco.exe。在命令行中写下如下的命令:
disco http://localhost/webExamples/simpleService.asmx
3.使用System.Web.Services.Description命名空间下提供的类
每个 WSDL 文件的根元素都是 <definitions>,必须在其中提供服务的完整描述。首先,必须在 <definitions> 元素中提供各种名称空间的声明。
<definitions> 元素包含一个或多个 < portType > 元素,每个元素都是一系列 operation。可以将单个portType元素看作是将各种方法组成类的一个逻辑分组。应该将每个Types称为服务,因此整个 WSDL 文件将成为一个服务集合。
在每个服务内可以有几个方法或者 operation,WSDL 通过 <operation> 元素来引用它们。
下面是一个最简单的WSDL例子
<?xml version="1.0" encoding="UTF-8" ?>
<definitions name="MobilePhoneService"
targetNamespace="www.mobilephoneservice.com/MobilePhoneService-interface"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.mobilephoneservice.com/MobilePhoneService"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<portType name="MobilePhoneService_port">
<operation name="getListOfModels ">
.......
.......
</operation>
<operation name="getPrice">
.......
.......
</operation>
</portType>
</definitions>