//下面包函服务器结构体的定义
<?xml version="1.0" ?><wsdl:definitions name="TrafficPoliceVehicleSoapServiceImplService" targetNamespace="http://service.trafficpolice.webservice.lytx.com/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://service.trafficpolice.webservice.lytx.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://service.trafficpolice.webservice.lytx.com/" xmlns="http://service.trafficpolice.webservice.lytx.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="vehiclePassRec">
<xs:sequence>
<xs:element minOccurs="0" name="fdId" type="xs:string"></xs:element>
<xs:element name="channelId" type="xs:int"></xs:element>
<xs:element minOccurs="0" name="deviceType" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="directionId" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="driveWay" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="license" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="licenseType" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="passDateTime" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="redLightBeginTime" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="redLightLast" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="speed" type="xs:long"></xs:element>
<xs:element minOccurs="0" name="limitSpeed" type="xs:long"></xs:element>
<xs:element minOccurs="0" name="violationType" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="ViolationType2" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="carLength" type="xs:long"></xs:element>
<xs:element minOccurs="0" name="licenseColor" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="carType" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="picGuid1" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="picGuid2" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="picGuid3" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="picGuid4" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="violate" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
//下面是调用函传结构体参数函数的定义
<xs:element name="sendPassrec" type="sendPassrec"></xs:element>
<xs:complexType name="sendPassrec">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="vehiclePassRec"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="sendPassrecResponse" type="sendPassrecResponse"></xs:element>
<xs:complexType name="sendPassrecResponse">
<xs:sequence>
<xs:element name="return" type="xs:int"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>我在网上看到V6.0调用函数的很多,可是传结构体的例子没有见过,哪位大侠帮帮忙!!
HRESULT hr; BOOL rb;
ISoapSerializerPtr Serializer;
ISoapReaderPtr Reader;
ISoapConnectorPtr Connector;
hr=Connector.CreateInstance(__uuidof(HttpConnector30));
if (FAILED(hr))
{
ShowStatus("创建COM对像错误!",ZF_LOG_ERROR);
rb=FALSE;
}
else
{
ShowStatus("创建COM对像成功!",ZF_LOG_STATUS);
rb=TRUE;
}
// ShowStatus("创建HttpConnector30实例错误!",ZF_LOG_ERROR);
Connector->Property["EndPointURL"] = "http://172.16.1.150:9000/soa/services/trafficPoliceVehicleService?wsdl";
hr=Connector->Connect();
if (FAILED(hr))
{
ShowStatus("创建HttpConnector30实例错误!",ZF_LOG_ERROR);
rb=FALSE;
}
else
{
ShowStatus("创建HttpConnector30实例成功!",ZF_LOG_STATUS);
rb=TRUE;
}
Connector->Property["SoapAction"] ="http://service.trafficpolice.webservice.lytx.com/";
Connector->BeginMessage();
hr=Serializer.CreateInstance(__uuidof(SoapSerializer30));
if (FAILED(hr))
{
ShowStatus("创建SoapSerializer实例错误!",ZF_LOG_ERROR);
rb=FALSE;
}
else
{
ShowStatus("创建SoapSerializer实例成功!",ZF_LOG_STATUS);
rb=TRUE;
}soapwebservice
<?xml version="1.0" ?><wsdl:definitions name="TrafficPoliceVehicleSoapServiceImplService" targetNamespace="http://service.trafficpolice.webservice.lytx.com/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://service.trafficpolice.webservice.lytx.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://service.trafficpolice.webservice.lytx.com/" xmlns="http://service.trafficpolice.webservice.lytx.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="vehiclePassRec">
<xs:sequence>
<xs:element minOccurs="0" name="fdId" type="xs:string"></xs:element>
<xs:element name="channelId" type="xs:int"></xs:element>
<xs:element minOccurs="0" name="deviceType" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="directionId" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="driveWay" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="license" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="licenseType" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="passDateTime" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="redLightBeginTime" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="redLightLast" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="speed" type="xs:long"></xs:element>
<xs:element minOccurs="0" name="limitSpeed" type="xs:long"></xs:element>
<xs:element minOccurs="0" name="violationType" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="ViolationType2" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="carLength" type="xs:long"></xs:element>
<xs:element minOccurs="0" name="licenseColor" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="carType" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="picGuid1" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="picGuid2" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="picGuid3" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="picGuid4" type="xs:string"></xs:element>
<xs:element minOccurs="0" name="violate" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
//下面是调用函传结构体参数函数的定义
<xs:element name="sendPassrec" type="sendPassrec"></xs:element>
<xs:complexType name="sendPassrec">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="vehiclePassRec"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="sendPassrecResponse" type="sendPassrecResponse"></xs:element>
<xs:complexType name="sendPassrecResponse">
<xs:sequence>
<xs:element name="return" type="xs:int"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>我在网上看到V6.0调用函数的很多,可是传结构体的例子没有见过,哪位大侠帮帮忙!!
HRESULT hr; BOOL rb;
ISoapSerializerPtr Serializer;
ISoapReaderPtr Reader;
ISoapConnectorPtr Connector;
hr=Connector.CreateInstance(__uuidof(HttpConnector30));
if (FAILED(hr))
{
ShowStatus("创建COM对像错误!",ZF_LOG_ERROR);
rb=FALSE;
}
else
{
ShowStatus("创建COM对像成功!",ZF_LOG_STATUS);
rb=TRUE;
}
// ShowStatus("创建HttpConnector30实例错误!",ZF_LOG_ERROR);
Connector->Property["EndPointURL"] = "http://172.16.1.150:9000/soa/services/trafficPoliceVehicleService?wsdl";
hr=Connector->Connect();
if (FAILED(hr))
{
ShowStatus("创建HttpConnector30实例错误!",ZF_LOG_ERROR);
rb=FALSE;
}
else
{
ShowStatus("创建HttpConnector30实例成功!",ZF_LOG_STATUS);
rb=TRUE;
}
Connector->Property["SoapAction"] ="http://service.trafficpolice.webservice.lytx.com/";
Connector->BeginMessage();
hr=Serializer.CreateInstance(__uuidof(SoapSerializer30));
if (FAILED(hr))
{
ShowStatus("创建SoapSerializer实例错误!",ZF_LOG_ERROR);
rb=FALSE;
}
else
{
ShowStatus("创建SoapSerializer实例成功!",ZF_LOG_STATUS);
rb=TRUE;
}soapwebservice
解决方案 »
- vc 用ado连接oracle9i问题,请高手指导下,谢谢!
- 关于本机IP地址的问题
- 求一个MFC多线程编程的综合实例!在下谢过了!!
- MMORPG的TCP/IP网络连接是服务器端和客户端时刻保持网络连接吗?
- 如何向指定端口发送数据让客户端程序接收?
- 有几个函数,'CreateJobObject' 'SetInformationJobObject' 'AssignProcessToJobObject' 怎么找不到。
- 求救大虾!!!
- 有关浏览器编程的不少的问题,侠士请进>>
- LPBYE与CString的转换?
- vc++关于go to definition
- 这是怎么回事?我贴图的界面拖拽或者切换窗口不自动重绘对话框
- 关于send函数的一个小问题
这个函数,
我想的是,我在工程中定义一个结构体,这个结构体跟服务器变量一样.我再把结构体考贝到内存里,当string
传给服务器.
设buff就是考贝了结构体的内存
Serializer->StartElement("sendPassrec","http://service.trafficpolice.webservice.lytx.com/","tns","");
Serializer->StartElement("VehiclePassRec","http://service.trafficpolice.webservice.lytx.com/","xs:string","");
Serializer->WriteString((_bstr_t)buff);
Serializer->EndElement();
这样行吗?
错了
Serializer->StartElement("sendPassrec","http://service.trafficpolice.webservice.lytx.com/","tns","");
Serializer->StartElement("arg0","http://service.trafficpolice.webservice.lytx.com/","xs:vehiclePassRec","");
Serializer->WriteString((_bstr_t)buff);
Serializer->EndElement();