There are too many actual code, I only post key part, and, note, mainly for yourself, pay attention to the red word! The actual application needs to encrypt / decrypt SOAP HEADER.
Encryption / Decryption Article Reference: http://blog.9cbs.net/hnwanghb/archive/2005/03/19/323869.aspx
First define a data structure:
I still nested a strureMotefile structure!
///  /// Hotel Managing Data Structure /// Contains 2 Encryption Image Information ///  Summary> Public StructHotelcertified {Public String ID; // Record Serial Number / Public String Certified_ID ; // Exquisite certificate number / public string name; // Name / public string sex; // gender / public string education_id; // Education / public string Identity_Card; // ID / PUBLIC STRING UNIT_NAME; // Unit Name / public String Obtain_Year; // Get Annual / Public String Establish_time; // Last Modified Time /
Public strureMotefile RMTPICFILE; / / Photo (Note: 2 Structure of Biltribute)}
///  /// Transfer 2 data structure /// String filename; // file name ///tete [] contents; // file content /// DateTime credime; // creation time /// DateTime LastAccesstime; // File Last Access Time /// DateTime LastWritetime; // File Last Modified Time ///  Summary> Public Struct StruRureMotefile {Public String FileName; // File Name Public Byte [] Contents; / / File content public datetime codeTime; // File Create Time PUBLIC DATETIME LastAccesstime; // File Last Access Time PUBLIC DATETIME LastWRittime; // File Last Modified Time}
///  /// function Description: Get a qualification certificate for tourists [Hotel Manager] /// Parameter Description: Lastid - The client has updated the latest ID number, the current operation needs to get the ID number greater than lastid Record /// Parameter Description: Number - Number of records of data [Web Transportation is abnormal, so it needs to limit the number of data updated] ///  summary> [WebMethod (Description = "Get Hotel Hotel manager certificate information [including picture file] ")] [SoapHeader (" AuthenHeader ", Direction = SoapHeaderDirection.In, Required = true)] // authentication Code public structHotelCertified [] WebGetHotelCertified (int lastID, int number) {try {// data to be output THRDataExport objDataExport = new THRDataExport (objHRLogin.NewConnection ()); structHotelCertified [] pHotelCertified;! // if validated, data acquisition hotel manager if (! bAuthenUser) {if (AuthenHeader.ValidUser (AuthenHeader. username, AuthenHeader.Password, objHRLogin.DBConnection)) {return null;}} pHotelCertified = objDataExport.GetHotelCertifiedInfo (lastID, strHotelPicPath, number); // call to the program structure WebService binary objects comprise returning
// Code Note: ObjDataExport is an instance of a class of THRDATAEXPORT.
Return phoTelTified;} catch (exception e) {error;}}}
Code in THRDATAEXPORT:
///  /// function Description: Get the latest hotel manager qualification certificate information ///  LastID-client has been updated the latest ID number, the current operation needs to get the ID number greater than Lastid record  param> ///  picture storage path  param> ///  Get recorded number  param> ///  structelcertified Structural array  returns> public structhotelcertified [] gethelcertifiedInfo (int lastid, string filepath, int getnum) {try {string strsql = ""; int ket = 0;
DataSet DS = new dataset (); / / =========================== Get data start ==== in the hotel manager qualification certificate =============================// Take all the data data of all the server, import DDS, different from DDS Tables [0] Record the full set of data on the server to filter strsql = "select * from t_hr_HOTEL_CERTIFIED WHERE ID>   Lastid.toTString ()  " and rownum <= "  getnum.toTString ()  " Order By ID ASC ";
OLEDBDataAdapter Dthotel = New OLEDBDataAdapter (strsql, cn);
// Fill record set DTHOTEL.FILL (DS, "T_HR_HOTEL_CERTITIFIED"); ICOUNT = DS.TABLES ["T_HR_HOTEL_CERTIED"]. Rows.count; // Get the Number of Hotel Manager Qualification Certificate of the Condition IF (iCount> 0) {structHotelCertified [] pHotelCert = new structHotelCertified [iCount]; for (int m = 0; m 
// -------------------------- Get a hotel manager photo information Start -------------- -------------- PHOTELCERT [M] .rmtpicfile = getBinaryFile (@strfilename); // Read 2 credit // ------------- -------------- Get hotel manager photo information END ----------------------------} Return phtercert;} else {return null;} // =========================== Get data end of the hotel manager qualification certificate ================================================================================================================================================================= #} } ///  /// Get the specified file name [full path name, C: /TEMP/Data/12367.jpg] ///  summary> ///  2 hex digits  returns> private struRemoteFile GetBinaryFile (string FileName) {struRemoteFile pRmtFile = new struRemoteFile (); content if (File.Exists (@FileName)) {// read a file Stream fs = File.Open (FileName, Filemode.open; prmtfile.contents = new byte [fs.length];
fs.read (prmtfile.contents, 0, (int) fs.length); fs.close ();
// Get the time parameter of the file prmatfile.creationTime = file.getcreationTIME (FileName); prmtfile.lastaccesstime = file.getlastaccesstime (filename); prmtfile.lastwrittime = file.getlastwritetime (filename);}
Return prmtfile;}
Finally Note: If it is called a non-DOTNET program encoding, refer to the following WebService structure information. Reference URL: http://www.tttssss.com/webservice/thrdataservice.asmx? OP = WebGetErcertified
DataExchange
Click here for a complete list of operations.WebGetHotelCertified access to information Hotel manager qualifications [including image files] TestThe test form is only available for requests from the local machine. SOAPThe following is a sample SOAP request and response. The placeholders shown need To be replaced with actual value.post /webservice/thrdatasempice.asmx http / 1.1host: www.tttssss.com
Content-type: text / xml; charSet = UTF-8
Content-Length: Length
SOAPACTION: "http://www.tttsss.com/webservice/webgethotelcertified"
 XML Version = "1.0" encoding = "UTF-8"?>
>>
 Base64Binary  username>
 Base64Binary  password>
 Base64Binary  key>
 Base64Binary  iv>
 des or rc2 or rijndael or tripledes  curalgorithm>
 Authentication>
 soap: header>
 Int  lastid>
 int  number>
 WebGetErcertified>
 soap: body>
 soap: envelope> http / 1.1 200 ok
Content-type: text / xml; charSet = UTF-8
Content-Length: Length
 XML Version = "1.0" encoding = "UTF-8"?>
 
 String  id>
 String  CERTIFIED_ID>
 String  name>
 STRING  sex>
 string  education_id>
 String  identity_card>
 string  unit_name>
 String  Obtain_Year>
 String  establish_time>
 String  filename>
 Base64Binary  contents>
 DateTime  CREATIONTIME>
 DateTime  lastaccesstime>
 DateTime  lastwritetime>
 RMTPICFILE>
 structhotelcertified>
 String  id>
 String  CERTIFIED_ID>
 String  name>
 STRING  sex>
 string  education_id>
 String  identity_card>
 string  unit_name>
 String  Obtain_Year>
 String  establish_time>
 String  filename>
 Base64Binary  contents>
 DateTime  CREATIONTIME>
 DateTime  lastaccesstime>
 DateTime  lastwritetime>  rmtpicfile>
 structhotelcertified>
 WebGetErTiFiedResult>
 WebGetErTiTifiedResponse>
 soap: body>
 soap: envelope>