Web services 带有xsd shema的Delphi Soap Web服务

Web services 带有xsd shema的Delphi Soap Web服务,web-services,delphi,soap,Web Services,Delphi,Soap,首先对我的英语不好表示歉意:谢谢你的帮助 我必须使用xsd模式和底部类似于wsdl的wsdl编写一个DelphiWeb服务。德尔福有可能吗。我必须根据现有的web服务客户端编写一个服务,底部的wsdl属于一个带有nusoap库的php web服务 我似乎听说您使用PHPNUSOAP编写了这个web服务,但正如您所知,Delphi web服务可以是独立的exe,我需要它的功能用于我们的产品 我可以用php编写这个web服务,没有问题,但是如果可能的话,我想用Delphi作为一个独立的工具来编写这个

首先对我的英语不好表示歉意:谢谢你的帮助

我必须使用xsd模式和底部类似于wsdl的wsdl编写一个DelphiWeb服务。德尔福有可能吗。我必须根据现有的web服务客户端编写一个服务,底部的wsdl属于一个带有nusoap库的php web服务

我似乎听说您使用PHPNUSOAP编写了这个web服务,但正如您所知,Delphi web服务可以是独立的exe,我需要它的功能用于我们的产品

我可以用php编写这个web服务,没有问题,但是如果可能的话,我想用Delphi作为一个独立的工具来编写这个web服务

我可以用Delphi独立编写这个web服务。我的服务的WSDL必须与底部的WSDL相似。我可以做我的服务的wsdl类似于底部的wsdl吗?如果可能的话,我该怎么办

我使用的是Delphi XE4

再次感谢

<?xml version="1.0" encoding="windows-1252"?>
<definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:wnposwsdl2" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:wnposwsdl2">
<types>
<xsd:schema targetNamespace="urn:wnposwsdl2">
 <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
 <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/"/>
 <xsd:complexType name="wnposreply">
  <xsd:all>
   <xsd:element name="rtype" type="xsd:string"/>
   <xsd:element name="rid" type="xsd:string"/>
   <xsd:element name="rval1" type="xsd:string"/>
   <xsd:element name="rval2" type="xsd:string"/>
   <xsd:element name="rmessage1" type="xsd:string"/>
   <xsd:element name="rmessage2" type="xsd:string"/>
   <xsd:element name="rmessage3" type="xsd:string"/>
  </xsd:all>
 </xsd:complexType>
 <xsd:complexType name="posregister">
  <xsd:all>
   <xsd:element name="serialno" type="xsd:string"/>
   <xsd:element name="posid" type="xsd:string"/>
   <xsd:element name="siteid" type="xsd:string"/>
   <xsd:element name="sitename" type="xsd:string"/>
  </xsd:all>
 </xsd:complexType>
 <xsd:complexType name="customercard">
  <xsd:all>
   <xsd:element name="cctype" type="xsd:string"/>
   <xsd:element name="customercode" type="xsd:string"/>
   <xsd:element name="ccnumber" type="xsd:string"/>
   <xsd:element name="validfrom" type="xsd:string"/>
   <xsd:element name="validto" type="xsd:string"/>
   <xsd:element name="pin" type="xsd:string"/>
   <xsd:element name="ccstatus" type="xsd:string"/>
   <xsd:element name="total_d" type="xsd:float"/>
   <xsd:element name="total_c" type="xsd:float"/>
  </xsd:all>
 </xsd:complexType>
 <xsd:complexType name="customer">
  <xsd:all>
   <xsd:element name="code" type="xsd:string"/>
   <xsd:element name="name" type="xsd:string"/>
   <xsd:element name="address1" type="xsd:string"/>
   <xsd:element name="address2" type="xsd:string"/>
   <xsd:element name="county" type="xsd:string"/>
   <xsd:element name="city" type="xsd:string"/>
   <xsd:element name="zip" type="xsd:string"/>
   <xsd:element name="tel" type="xsd:string"/>
   <xsd:element name="gsm" type="xsd:string"/>
   <xsd:element name="email" type="xsd:string"/>
   <xsd:element name="web" type="xsd:string"/>
   <xsd:element name="listprice" type="xsd:string"/>
   <xsd:element name="defdiscount" type="xsd:string"/>
  </xsd:all>
 </xsd:complexType>
 <xsd:complexType name="payment">
  <xsd:all>
   <xsd:element name="id" type="xsd:int"/>
   <xsd:element name="val" type="xsd:float"/>
  </xsd:all>
 </xsd:complexType>
 <xsd:complexType name="ccard">
  <xsd:all>
   <xsd:element name="customercard" type="tns:customercard"/>
   <xsd:element name="customer" type="tns:customer"/>
  </xsd:all>
 </xsd:complexType>
 <xsd:complexType name="ccardarray">
  <xsd:complexContent>
   <xsd:restriction base="SOAP-ENC:Array">
    <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:ccard[]"/>
   </xsd:restriction>
  </xsd:complexContent>
 </xsd:complexType>
 <xsd:complexType name="customertrans">
  <xsd:all>
   <xsd:element name="ccnumber" type="xsd:string"/>
   <xsd:element name="posserialno" type="xsd:string"/>
   <xsd:element name="ftransid" type="xsd:string"/>
   <xsd:element name="ftype" type="xsd:string"/>
   <xsd:element name="ftm" type="xsd:string"/>
   <xsd:element name="fno" type="xsd:string"/>
   <xsd:element name="excode" type="xsd:string"/>
   <xsd:element name="genexp" type="xsd:string"/>
   <xsd:element name="sign" type="xsd:string"/>
   <xsd:element name="amount" type="xsd:float"/>
  </xsd:all>
 </xsd:complexType>
 <xsd:complexType name="customertransarray">
  <xsd:complexContent>
   <xsd:restriction base="SOAP-ENC:Array">
    <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:customertrans[]"/>
   </xsd:restriction>
  </xsd:complexContent>
 </xsd:complexType>
 <xsd:complexType name="payments">
  <xsd:complexContent>
   <xsd:restriction base="SOAP-ENC:Array">
    <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:payment[]"/>
   </xsd:restriction>
  </xsd:complexContent>
 </xsd:complexType>
 <xsd:complexType name="itemtrans">
  <xsd:all>
   <xsd:element name="ttype" type="xsd:string"/>
   <xsd:element name="subtype" type="xsd:string"/>
   <xsd:element name="code" type="xsd:string"/>
   <xsd:element name="quantity" type="xsd:float"/>
   <xsd:element name="bprice" type="xsd:float"/>
   <xsd:element name="itemgroupcode" type="xsd:string"/>
  </xsd:all>
 </xsd:complexType>
 <xsd:complexType name="itemtransarray">
  <xsd:complexContent>
   <xsd:restriction base="SOAP-ENC:Array">
    <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:itemtrans[]"/>
   </xsd:restriction>
  </xsd:complexContent>
 </xsd:complexType>
 <xsd:complexType name="receiptheader">
  <xsd:all>
   <xsd:element name="fno" type="xsd:string"/>
   <xsd:element name="ftm" type="xsd:string"/>
   <xsd:element name="siteid" type="xsd:string"/>
   <xsd:element name="customercard" type="tns:customercard"/>
   <xsd:element name="payments" type="tns:payments"/>
   <xsd:element name="nettotal" type="xsd:float"/>
   <xsd:element name="calculatedtotalpoint" type="xsd:float"/>
  </xsd:all>
 </xsd:complexType>
 <xsd:complexType name="receipt">
  <xsd:all>
   <xsd:element name="ftransid" type="xsd:int"/>
   <xsd:element name="serialno" type="xsd:string"/>
   <xsd:element name="ctranstype" type="xsd:string"/>
   <xsd:element name="header" type="tns:receiptheader"/>
   <xsd:element name="items" type="tns:itemtransarray"/>
  </xsd:all>
 </xsd:complexType>
 <xsd:complexType name="receiptarray">
  <xsd:complexContent>
   <xsd:restriction base="SOAP-ENC:Array">
    <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:receipt[]"/>
   </xsd:restriction>
  </xsd:complexContent>
 </xsd:complexType>
 <xsd:complexType name="spendingcheck">
  <xsd:all>
   <xsd:element name="ctrans" type="tns:customertrans"/>
   <xsd:element name="basket" type="tns:receipt"/>
  </xsd:all>
 </xsd:complexType>
</xsd:schema>
</types>
<message name="register_posRequest">
  <part name="posrecord" type="tns:posregister"/></message>
<message name="register_posResponse">
  <part name="return" type="tns:wnposreply"/></message>
<message name="query_cardRequest">
  <part name="customercard" type="tns:customercard"/></message>
<message name="query_cardResponse">
  <part name="return" type="tns:wnposreply"/></message>
<message name="register_customerRequest">
  <part name="ccardarray" type="tns:ccardarray"/></message>
<message name="register_customerResponse">
  <part name="return" type="tns:wnposreply"/></message>
<message name="check_receiptRequest">
  <part name="receipt" type="tns:receiptarray"/></message>
<message name="check_receiptResponse">
  <part name="return" type="tns:wnposreply"/></message>
<message name="add_ctransRequest">
  <part name="customertrans" type="tns:customertrans"/></message>
<message name="add_ctransResponse">
  <part name="return" type="tns:wnposreply"/></message>
<message name="update_ctransRequest">
  <part name="customertrans" type="tns:customertrans"/></message>
<message name="update_ctransResponse">
  <part name="return" type="tns:wnposreply"/></message>
<message name="add_spendingRequest">
  <part name="spendingcheck" type="tns:spendingcheck"/></message>
<message name="add_spendingResponse">
  <part name="return" type="tns:wnposreply"/></message>
<portType name="wnposwsdl2PortType">
  <operation name="register_pos">
    <documentation>Register pos...</documentation>
    <input message="tns:register_posRequest"/>
    <output message="tns:register_posResponse"/>
  </operation>
  <operation name="query_card">
    <documentation>Query customer card...</documentation>
    <input message="tns:query_cardRequest"/>
    <output message="tns:query_cardResponse"/>
  </operation>
  <operation name="register_customer">
    <documentation>Registers customer(s)/card(s)/giftcard(s) to be used by the server, approval required by the db manager....</documentation>
    <input message="tns:register_customerRequest"/>
    <output message="tns:register_customerResponse"/>
  </operation>
  <operation name="check_receipt">
    <documentation>Check receipt for gift or point collection..</documentation>
    <input message="tns:check_receiptRequest"/>
    <output message="tns:check_receiptResponse"/>
  </operation>
  <operation name="add_ctrans">
    <documentation>Add trans..</documentation>
    <input message="tns:add_ctransRequest"/>
    <output message="tns:add_ctransResponse"/>
  </operation>
  <operation name="update_ctrans">
    <documentation>Update added trans change stage...</documentation>
    <input message="tns:update_ctransRequest"/>
    <output message="tns:update_ctransResponse"/>
  </operation>
  <operation name="add_spending">
    <documentation>Add spending ..</documentation>
    <input message="tns:add_spendingRequest"/>
    <output message="tns:add_spendingResponse"/>
  </operation>
</portType>
<binding name="wnposwsdl2Binding" type="tns:wnposwsdl2PortType">
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="register_pos">
    <soap:operation soapAction="urn:wnposwsdl2#register_pos" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:wnposwsdl2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:wnposwsdl2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="query_card">
    <soap:operation soapAction="urn:wnposwsdl2#query_card" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:wnposwsdl2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:wnposwsdl2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="register_customer">
    <soap:operation soapAction="urn:wnposwsdl2#register_customer" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:wnposwsdl2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:wnposwsdl2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="check_receipt">
    <soap:operation soapAction="urn:wnposwsdl2#check_receipt" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:wnposwsdl2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:wnposwsdl2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="add_ctrans">
    <soap:operation soapAction="urn:wnposwsdl2#customertrans" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:wnposwsdl2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:wnposwsdl2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="update_ctrans">
    <soap:operation soapAction="urn:wnposwsdl2#customertrans" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:wnposwsdl2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:wnposwsdl2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="add_spending">
    <soap:operation soapAction="urn:wnposwsdl2#spendingcheck" style="rpc"/>
    <input><soap:body use="encoded" namespace="urn:wnposwsdl2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="urn:wnposwsdl2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
</binding>
<service name="wnposwsdl2">
  <port name="wnposwsdl2Port" binding="tns:wnposwsdl2Binding">
    <soap:address location="http://ksistemdomain.com:88/web.biz/server/wnposserver.php"/>
  </port>
</service>
</definitions>

寄存器位置。。。
查询客户卡。。。
注册服务器使用的客户/卡/礼品卡,db经理需要批准。。。。
检查礼品或积分收集的收据。。
添加trans。。
更新添加的转换更改阶段。。。
加上开支。。

当然,您可以使用Delphi从wsdl文件中编写SOAP服务。 然后您可以使用结果dll调用您的服务


你可以查看更多信息

这不是答案,因为这里没有实际内容。所有内容都是外部链接的非现场内容。这应该是对原始帖子的评论。