WSDL URI 代码解析

来源:互联网 发布:哈工大人工智能 编辑:程序博客网 时间:2024/06/05 18:48

1、

//org.dom4j.io.SAXReader.SAXReader// 获取wsdl dom对象// 解析wsdldetail.append("\u25c6\u89e3\u6790wsdl");Document doc = null;try {doc = new SAXReader().read(uri);// 【成功】detail.append(" \u3010\u6210\u529f\u3011").append("\n");} catch (DocumentException e) {e.printStackTrace();// 【失败】detail.append(" \u3010\u5931\u8d25\u3011").append("\n");detail.append(ExceptionUtils.getStackTrace(e));log.setStatus(Constants.FAILURE);log.setDetail(detail.toString());return log;}// 根节点Element root = doc.getRootElement();// 客户端工厂类String clazz = getClassName(root, uri);// 获取客户端工厂方法名String portName = getPortName(root, uri);// 获取服务接口名称String face = getFaceName(root, uri);// 目标命名空间String targetNamespace = getTargetNamespace(root);//目标服务名称String targetSeriviceName = getTargetServiceName(root,uri);

 

/** *  * 获取客户端工厂类名(处理不规则的Class名称) *  * @param wsdlUri *  * @return 类名 *  */protected String getClassName(Element root, String wsdlUri) {String clazz = null;// 增加非空验证以及钻取引入的wsdl文件if (root != null) {// 结果Element r = getSubElementByName(root, "service", wsdlUri);if (r == null)return clazz;clazz = r.attributeValue("name");clazz = clazz.replaceAll("^\\p{Lower}", clazz.substring(0, 1).toUpperCase());int index = clazz.indexOf("_");while (index != -1) {clazz = clazz.replaceFirst("_.",clazz.substring(index + 1, index + 2).toUpperCase());index = clazz.indexOf("_");}}return clazz;}/** *  * 获取客户端工厂方法名 *  * @param wsdlUri *  */protected String getPortName(Element root, String wsdlUri) {String portName = null;if (root != null) {Element r = getSubElementByName(root, "service", wsdlUri);if (r == null)return portName;Element p = r.element("port");if (p == null)return portName;portName = p.attributeValue("name");portName = portName.replaceFirst("^\\p{Lower}",portName.substring(0, 1).toUpperCase());int index = portName.indexOf("_");while (index != -1) {portName = portName.replaceFirst("_.",portName.substring(index + 1, index + 2).toUpperCase());index = portName.indexOf("_");}}return portName;}/** *  * 获取服务接口名称 *  * @param wsdlUri *  */protected String getFaceName(Element root, String wsdlUri) {String face = null;if (root != null) {Element r = getSubElementByName(root, "service", wsdlUri);if (r == null)return face;Element port = r.element("port");if (port == null)return face;String binding = port.attributeValue("binding");if (binding.indexOf(":") != -1) {binding = binding.substring(binding.indexOf(":") + 1);}List<Element> ls = getSubElementsByName(root, "binding", wsdlUri);if (ls.size() == 0)return face;for (Element e : ls) {if (binding.equals(e.attributeValue("name"))) {String client = e.attributeValue("type");if (client.indexOf(":") != -1) {client = client.substring(client.indexOf(":") + 1);}face = client.replaceFirst("^\\p{Lower}",client.substring(0, 1).toUpperCase());}}}return face.replaceAll("_", "");}/** * 获取原始wsdl中targetNamespace *  * @param root * @return */protected String getTargetNamespace(Element root) {return root.attributeValue("targetNamespace");}/** * 获取服务名称 * @param root * @param wsdlUri * @return */protected String getTargetServiceName(Element root, String wsdlUri){String serviceName = null;if (root != null) {Element r = getSubElementByName(root, "service", wsdlUri);if (r == null)return serviceName;Element port = r.element("port");serviceName = r.attributeValue("name");}return serviceName;}

 

/** *  * 返回入参eleName对应的子元素 BFS遍历获取的一个立即返回 *  * @param root 根元素 * @param eleName 子元素名称 * @param wsdlUri *  * @return 如果为空,说明未找到 *  */protected Element getSubElementByName(Element root, String eleName, String wsdlUri) {Element r = null;// BFS// 初始化循环条件Map<String, Element> curLvl = new HashMap<String, Element>();Map<String, Element> nextLvl = new HashMap<String, Element>();nextLvl.put(wsdlUri, root);// 循环变量String location = null;Element e = null;// 循环直到没有叶子节点outer: while (nextLvl.size() > 0) {curLvl = nextLvl;nextLvl = new HashMap<String, Element>();// 遍历当层的元素,同时将下层元素存取至集合for (String uri : curLvl.keySet()) {e = curLvl.get(uri);r = e.element(eleName);if (r != null) {break outer;}@SuppressWarnings("unchecked")List<Element> ls = e.elements("import");for (Element i : ls) {try {location = i.attributeValue("location");location = joinLocation(uri, location);nextLvl.put(location, new SAXReader().read(location).getDocument().getRootElement());} catch (DocumentException e1) {e1.printStackTrace();}}}}return r;}

 

原始WSDL:

http://localhost:8888/UnicomWebservices/services/ESB_ERP_FA_ImportOtherAddAssetsInfoSrvPort?wsdl

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://ws.project.com/ESB_ERP_FA_ImportOtherAddAssetsInfoSrv" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrv" targetNamespace="http://ws.project.com/ESB_ERP_FA_ImportOtherAddAssetsInfoSrv">  <wsdl:types><schema xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://ws.project.com/ESB_ERP_FA_ImportOtherAddAssetsInfoSrv" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://www.w3.org/2001/XMLSchema">  <import namespace="http://ws.project.com/ESB_ERP_FA_ImportOtherAddAssetsInfoSrv" schemaLocation="http://localhost:8888/UnicomWebservices/services/ESB_ERP_FA_ImportOtherAddAssetsInfoSrvPort?xsd=ESB_ERP_FA_ImportOtherAddAssetsInfoSrv.xsd"/></schema>  </wsdl:types>  <wsdl:message name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrvRequestMessage">    <wsdl:part element="tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvRequest" name="payload">    </wsdl:part>  </wsdl:message>  <wsdl:message name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrvResponseMessage">    <wsdl:part element="tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvResponse" name="payload">    </wsdl:part>  </wsdl:message>  <wsdl:portType name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrv">    <wsdl:operation name="process">      <wsdl:input message="tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvRequestMessage">    </wsdl:input>      <wsdl:output message="tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvResponseMessage">    </wsdl:output>    </wsdl:operation>  </wsdl:portType>  <wsdl:binding name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrvBinding" type="tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrv">    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>    <wsdl:operation name="process">      <soap:operation soapAction="process" style="document"/>      <wsdl:input>        <soap:body use="literal"/>      </wsdl:input>      <wsdl:output>        <soap:body use="literal"/>      </wsdl:output>    </wsdl:operation>  </wsdl:binding>  <wsdl:service name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrv">    <wsdl:port binding="tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvBinding" name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrvPort">      <soap:address location="http://localhost:8888/UnicomWebservices/services/ESB_ERP_FA_ImportOtherAddAssetsInfoSrvPort"/>    </wsdl:port>  </wsdl:service></wsdl:definitions>

 

 

原始WSDL import标签的location xsd:

http://10.204.104.69:8888/UnicomWebservices/services/ESB_ERP_FA_ImportOtherAddAssetsInfoSrvPort?xsd=ESB_ERP_FA_ImportOtherAddAssetsInfoSrv.xsd

 

<schema xmlns:tns="http://ws.project.com/ESB_ERP_FA_ImportOtherAddAssetsInfoSrv" xmlns:msg="http://ws.project.com/MsgHeader" xmlns="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ws.project.com/ESB_ERP_FA_ImportOtherAddAssetsInfoSrv"><import namespace="http://ws.project.com/MsgHeader" schemaLocation="http://localhost:8888/UnicomWebservices/services/ESB_ERP_FA_ImportOtherAddAssetsInfoSrvPort?xsd=MsgHeader.xsd"/><element name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrvRequest" type="tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvRequest"/><element name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrvResponse" type="tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvResponse"/><complexType name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrvRequest"><sequence><element name="MsgHeader" type="msg:MsgHeader"/><element name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrvInputCollection" type="tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvInputCollection"/></sequence></complexType><complexType name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrvResponse"><sequence><element name="SERVICE_FLAG" nillable="true" type="string"/><element name="INSTANCE_ID" nillable="true" type="string"/><element name="SERVICE_MESSAGE" nillable="true" type="string"/><element name="ErrorCollection" type="tns:ErrorCollection"/><element name="ResponseCollection" type="tns:ResponseCollection"/></sequence></complexType><complexType name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrvInputCollection"><sequence><element maxOccurs="unbounded" minOccurs="0" name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrvInputItem" type="tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvInputItem"/></sequence></complexType><complexType name="ESB_ERP_FA_ImportOtherAddAssetsInfoSrvInputItem"><sequence><element name="PRI_KEY" type="string"/><element name="BATCH_NUM" type="string"/><element name="CREATED_BY" type="string"/><element name="PROVINCE_CODE" type="string"/><element name="BOOK_TYPE_CODE" type="string"/><element name="ASSET_ID" type="decimal"/><element name="TAG_NUMBER" nillable="true" type="string"/><element name="ASSET_DESCRIPTION" type="string"/><element name="MANUFACTURER_NAME" nillable="true" type="string"/><element name="MODEL_NUMBER" nillable="true" type="string"/><element name="SERIAL_NUMBER" nillable="true" type="string"/><element name="APPLICANT_AREA" type="string"/><element name="ASSET_CATALOG" type="string"/><element name="ASSET_PROFESSIONAL" type="string"/><element name="ASSET_KEYWORD" type="string"/><element name="ASSET_UNIT" type="decimal"/><element name="ASSET_UOM" nillable="true" type="string"/><element name="SPARE_UNITS" nillable="true" type="decimal"/><element name="SPARE_UOM" nillable="true" type="string"/><element name="ASSET_SOURCE" type="string"/><element name="ASSET_BELONG" type="string"/><element name="SP_CODE" nillable="true" type="string"/><element name="DATE_IN_SERVICE" type="dateTime"/><element name="LIFE_IN_MONTHS" nillable="true" type="decimal"/><element name="DEPRN_RESERVE" nillable="true" type="decimal"/><element name="YTD_DEPRN" nillable="true" type="decimal"/><element name="ORIGINAL_COST" type="decimal"/><element name="SALVAGE_VALUE" nillable="true" type="decimal"/><element name="ACCUMU_IMPAIRMENT" nillable="true" type="decimal"/><element name="IS_AMORTIZATION" type="string"/><element name="EMPLOYEE_NUMBER" type="string"/><element name="COST_CENTER" type="string"/><element name="ASSET_AREA" type="string"/><element name="ASSET_ADDRESS" type="string"/><element name="ASSET_STATUS" type="string"/><element name="BEGINNING_ASSET_NUM" nillable="true" type="string"/><element name="PROPERTY_RIGHT_NUM" nillable="true" type="string"/><element name="EVA_NET_VALUE" nillable="true" type="decimal"/><element name="EVA_MONTHS_AVA" nillable="true" type="decimal"/><element name="BEGINNING_PROJECT" nillable="true" type="string"/><element name="MANAGEMENT_DEPT" nillable="true" type="string"/><element name="EXTRA_MESSAGE1" nillable="true" type="string"/><element name="EXTRA_MESSAGE2" nillable="true" type="string"/><element name="EXTRA_MESSAGE3" nillable="true" type="string"/><element name="RESERVED_1" nillable="true" type="string"/><element name="RESERVED_2" nillable="true" type="string"/><element name="RESERVED_3" nillable="true" type="string"/><element name="RESERVED_4" nillable="true" type="string"/><element name="RESERVED_5" nillable="true" type="string"/><element name="RESERVED_6" nillable="true" type="string"/><element name="RESERVED_7" nillable="true" type="string"/><element name="RESERVED_8" nillable="true" type="string"/><element name="RESERVED_9" nillable="true" type="string"/><element name="RESERVED_10" nillable="true" type="string"/><element name="RESERVED_11" nillable="true" type="string"/><element name="RESERVED_12" nillable="true" type="string"/><element name="RESERVED_13" nillable="true" type="string"/><element name="RESERVED_14" nillable="true" type="string"/><element name="RESERVED_15" nillable="true" type="string"/></sequence></complexType><complexType name="ErrorCollection"><sequence><element maxOccurs="unbounded" minOccurs="0" name="ErrorItem" type="tns:ErrorItem"/></sequence></complexType><complexType name="ErrorItem"><sequence><element name="ENTITY_NAME" nillable="true" type="string"/><element name="PRI_KEY" nillable="true" type="string"/><element name="ERROR_MESSAGE" nillable="true" type="string"/><element name="BACH_NUM" nillable="true" type="string"/><element name="RECORD_NUMBER" nillable="true" type="string"/><element name="RESERVED_1" nillable="true" type="string"/><element name="RESERVED_2" nillable="true" type="string"/><element name="RESERVED_3" nillable="true" type="string"/><element name="RESERVED_4" nillable="true" type="string"/><element name="RESERVED_5" nillable="true" type="string"/></sequence></complexType><complexType name="ResponseCollection"><sequence><element maxOccurs="unbounded" minOccurs="0" name="ResponseItem" type="tns:ResponseItem"/></sequence></complexType><complexType name="ResponseItem"><sequence><element name="REQUEST_ID" nillable="true" type="string"/><element name="PRI_KEY" nillable="true" type="string"/><element name="BACH_NUM" nillable="true" type="string"/><element name="RECORD_NUMBER" nillable="true" type="string"/><element name="RESERVED_1" nillable="true" type="string"/><element name="RESERVED_2" nillable="true" type="string"/><element name="RESERVED_3" nillable="true" type="string"/><element name="RESERVED_4" nillable="true" type="string"/><element name="RESERVED_5" nillable="true" type="string"/></sequence></complexType></schema>

 

 

location xsd 里的MsgHeader.xsd:

http://10.204.104.69:8888/UnicomWebservices/services/ESB_ERP_FA_ImportOtherAddAssetsInfoSrvPort?xsd=MsgHeader.xsd

 

<schema xmlns:tns="http://ws.project.com/MsgHeader" xmlns="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://ws.project.com/MsgHeader"><complexType name="MsgHeader"><sequence><element name="SOURCE_APP_ID" type="string"/><element name="SOURCE_APP_NAME" nillable="true" type="string"/><element name="SOURCE_MOD_ID" type="string"/><element name="SOURCE_MOD_NAME" nillable="true" type="string"/><element name="TARGET_MOD_ID" nillable="true" type="string"/><element name="TARGET_MOD_NAME" nillable="true" type="string"/><element name="TOKEN" nillable="true" type="string"/><element name="USERID" nillable="true" type="decimal"/><element name="USERNAME" nillable="true" type="string"/><element name="SUBMITDATE" nillable="true" type="dateTime"/><element name="PAGE_SIZE" nillable="true" type="decimal"/><element name="CURRENT_PAGE" nillable="true" type="decimal"/><element name="TOTAL_RECORD" nillable="true" type="decimal"/><element name="PROVINCE_CODE" type="string"/><element name="ENVIRONMENT_NAME" nillable="true" type="string"/></sequence></complexType></schema>

 

  

封装后WSDL:

http://localhost:8080/ESB_ERP_FA_ImportOtherAddAssetsInfoSrv/ESB_ERP_FA_ImportOtherAddAssetsInfoSrv?wsdl

 

<definitions name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrv' targetNamespace='http://ws.project.com/ESB_ERP_FA_ImportOtherAddAssetsInfoSrv' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:ns1='http://ws.project.com/MsgHeader' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://ws.project.com/ESB_ERP_FA_ImportOtherAddAssetsInfoSrv' xmlns:xsd='http://www.w3.org/2001/XMLSchema'> <types>  <xs:schema elementFormDefault='qualified' targetNamespace='http://ws.project.com/ESB_ERP_FA_ImportOtherAddAssetsInfoSrv' version='1.0' xmlns:ns1='http://ws.project.com/MsgHeader' xmlns:tns='http://ws.project.com/ESB_ERP_FA_ImportOtherAddAssetsInfoSrv' xmlns:xs='http://www.w3.org/2001/XMLSchema'>   <xs:import namespace='http://ws.project.com/MsgHeader'/>   <xs:element name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrvRequest' type='tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvRequest'/>   <xs:element name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrvResponse' type='tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvResponse'/>   <xs:complexType name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrvRequest'>    <xs:sequence>     <xs:element name='MsgHeader' type='ns1:MsgHeader'/>     <xs:element name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrvInputCollection' type='tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvInputCollection'/>    </xs:sequence>   </xs:complexType>   <xs:complexType name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrvInputCollection'>    <xs:sequence>     <xs:element maxOccurs='unbounded' minOccurs='0' name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrvInputItem' type='tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvInputItem'/>    </xs:sequence>   </xs:complexType>   <xs:complexType name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrvInputItem'>    <xs:sequence>     <xs:element name='PRI_KEY' type='xs:string'/>     <xs:element name='BATCH_NUM' type='xs:string'/>     <xs:element name='CREATED_BY' type='xs:string'/>     <xs:element name='PROVINCE_CODE' type='xs:string'/>     <xs:element name='BOOK_TYPE_CODE' type='xs:string'/>     <xs:element name='ASSET_ID' type='xs:decimal'/>     <xs:element name='TAG_NUMBER' nillable='true' type='xs:string'/>     <xs:element name='ASSET_DESCRIPTION' type='xs:string'/>     <xs:element name='MANUFACTURER_NAME' nillable='true' type='xs:string'/>     <xs:element name='MODEL_NUMBER' nillable='true' type='xs:string'/>     <xs:element name='SERIAL_NUMBER' nillable='true' type='xs:string'/>     <xs:element name='APPLICANT_AREA' type='xs:string'/>     <xs:element name='ASSET_CATALOG' type='xs:string'/>     <xs:element name='ASSET_PROFESSIONAL' type='xs:string'/>     <xs:element name='ASSET_KEYWORD' type='xs:string'/>     <xs:element name='ASSET_UNIT' type='xs:decimal'/>     <xs:element name='ASSET_UOM' nillable='true' type='xs:string'/>     <xs:element name='SPARE_UNITS' nillable='true' type='xs:decimal'/>     <xs:element name='SPARE_UOM' nillable='true' type='xs:string'/>     <xs:element name='ASSET_SOURCE' type='xs:string'/>     <xs:element name='ASSET_BELONG' type='xs:string'/>     <xs:element name='SP_CODE' nillable='true' type='xs:string'/>     <xs:element name='DATE_IN_SERVICE' type='xs:dateTime'/>     <xs:element name='LIFE_IN_MONTHS' nillable='true' type='xs:decimal'/>     <xs:element name='DEPRN_RESERVE' nillable='true' type='xs:decimal'/>     <xs:element name='YTD_DEPRN' nillable='true' type='xs:decimal'/>     <xs:element name='ORIGINAL_COST' type='xs:decimal'/>     <xs:element name='SALVAGE_VALUE' nillable='true' type='xs:decimal'/>     <xs:element name='ACCUMU_IMPAIRMENT' nillable='true' type='xs:decimal'/>     <xs:element name='IS_AMORTIZATION' type='xs:string'/>     <xs:element name='EMPLOYEE_NUMBER' type='xs:string'/>     <xs:element name='COST_CENTER' type='xs:string'/>     <xs:element name='ASSET_AREA' type='xs:string'/>     <xs:element name='ASSET_ADDRESS' type='xs:string'/>     <xs:element name='ASSET_STATUS' type='xs:string'/>     <xs:element name='BEGINNING_ASSET_NUM' nillable='true' type='xs:string'/>     <xs:element name='PROPERTY_RIGHT_NUM' nillable='true' type='xs:string'/>     <xs:element name='EVA_NET_VALUE' nillable='true' type='xs:decimal'/>     <xs:element name='EVA_MONTHS_AVA' nillable='true' type='xs:decimal'/>     <xs:element name='BEGINNING_PROJECT' nillable='true' type='xs:string'/>     <xs:element name='MANAGEMENT_DEPT' nillable='true' type='xs:string'/>     <xs:element name='EXTRA_MESSAGE1' nillable='true' type='xs:string'/>     <xs:element name='EXTRA_MESSAGE2' nillable='true' type='xs:string'/>     <xs:element name='EXTRA_MESSAGE3' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_1' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_2' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_3' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_4' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_5' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_6' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_7' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_8' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_9' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_10' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_11' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_12' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_13' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_14' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_15' nillable='true' type='xs:string'/>    </xs:sequence>   </xs:complexType>   <xs:complexType name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrvResponse'>    <xs:sequence>     <xs:element name='SERVICE_FLAG' nillable='true' type='xs:string'/>     <xs:element name='INSTANCE_ID' nillable='true' type='xs:string'/>     <xs:element name='SERVICE_MESSAGE' nillable='true' type='xs:string'/>     <xs:element name='ErrorCollection' type='tns:ErrorCollection'/>     <xs:element name='ResponseCollection' type='tns:ResponseCollection'/>    </xs:sequence>   </xs:complexType>   <xs:complexType name='ErrorCollection'>    <xs:sequence>     <xs:element maxOccurs='unbounded' minOccurs='0' name='ErrorItem' type='tns:ErrorItem'/>    </xs:sequence>   </xs:complexType>   <xs:complexType name='ErrorItem'>    <xs:sequence>     <xs:element name='ENTITY_NAME' nillable='true' type='xs:string'/>     <xs:element name='PRI_KEY' nillable='true' type='xs:string'/>     <xs:element name='ERROR_MESSAGE' nillable='true' type='xs:string'/>     <xs:element name='BACH_NUM' nillable='true' type='xs:string'/>     <xs:element name='RECORD_NUMBER' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_1' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_2' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_3' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_4' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_5' nillable='true' type='xs:string'/>    </xs:sequence>   </xs:complexType>   <xs:complexType name='ResponseCollection'>    <xs:sequence>     <xs:element maxOccurs='unbounded' minOccurs='0' name='ResponseItem' type='tns:ResponseItem'/>    </xs:sequence>   </xs:complexType>   <xs:complexType name='ResponseItem'>    <xs:sequence>     <xs:element name='REQUEST_ID' nillable='true' type='xs:string'/>     <xs:element name='PRI_KEY' nillable='true' type='xs:string'/>     <xs:element name='BACH_NUM' nillable='true' type='xs:string'/>     <xs:element name='RECORD_NUMBER' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_1' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_2' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_3' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_4' nillable='true' type='xs:string'/>     <xs:element name='RESERVED_5' nillable='true' type='xs:string'/>    </xs:sequence>   </xs:complexType>  </xs:schema>  <xs:schema targetNamespace='http://ws.project.com/MsgHeader' version='1.0' xmlns:xs='http://www.w3.org/2001/XMLSchema'>   <xs:complexType name='MsgHeader'>    <xs:sequence>     <xs:element form='qualified' name='SOURCE_APP_ID' type='xs:string'/>     <xs:element form='qualified' name='SOURCE_APP_NAME' nillable='true' type='xs:string'/>     <xs:element form='qualified' name='SOURCE_MOD_ID' type='xs:string'/>     <xs:element form='qualified' name='SOURCE_MOD_NAME' nillable='true' type='xs:string'/>     <xs:element form='qualified' name='TARGET_MOD_ID' nillable='true' type='xs:string'/>     <xs:element form='qualified' name='TARGET_MOD_NAME' nillable='true' type='xs:string'/>     <xs:element form='qualified' name='TOKEN' nillable='true' type='xs:string'/>     <xs:element form='qualified' name='USERID' nillable='true' type='xs:decimal'/>     <xs:element form='qualified' name='USERNAME' nillable='true' type='xs:string'/>     <xs:element form='qualified' name='SUBMITDATE' nillable='true' type='xs:dateTime'/>     <xs:element form='qualified' name='PAGE_SIZE' nillable='true' type='xs:decimal'/>     <xs:element form='qualified' name='CURRENT_PAGE' nillable='true' type='xs:decimal'/>     <xs:element form='qualified' name='TOTAL_RECORD' nillable='true' type='xs:decimal'/>     <xs:element form='qualified' name='PROVINCE_CODE' type='xs:string'/>     <xs:element form='qualified' name='ENVIRONMENT_NAME' nillable='true' type='xs:string'/>    </xs:sequence>   </xs:complexType>  </xs:schema> </types> <message name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrv_processResponse'>  <part element='tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvResponse' name='payload'></part> </message> <message name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrv_process'>  <part element='tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvRequest' name='payload'></part> </message> <portType name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrv'>  <operation name='process' parameterOrder='payload'>   <input message='tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrv_process'></input>   <output message='tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrv_processResponse'></output>  </operation> </portType> <binding name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrvBinding' type='tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrv'>  <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/>  <operation name='process'>   <soap:operation soapAction='process'/>   <input>    <soap:body use='literal'/>   </input>   <output>    <soap:body use='literal'/>   </output>  </operation> </binding> <service name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrv'>  <port binding='tns:ESB_ERP_FA_ImportOtherAddAssetsInfoSrvBinding' name='ESB_ERP_FA_ImportOtherAddAssetsInfoSrvPort'>   <soap:address location='http://localhost:8080/ESB_ERP_FA_ImportOtherAddAssetsInfoSrv/ESB_ERP_FA_ImportOtherAddAssetsInfoSrv'/>  </port> </service></definitions>

 ..

 

 

 

 

 

原创粉丝点击