哪里有调用web sercices的例子,能直接在delphi7中使用的,或c++builder5中使用的

解决方案 »

  1.   

    看以下的一个例子(转)   
        
      先用vs.net创建一个简单的webservices;   
        
      1.打开vs.net2003   新建一个webservises   命名为WebService1               
        
      2.添加两个WebMethod   
        
      [WebMethod]   
        
      public   string   HelloWorld()   
        
      {   
        
      return   "Hello   World   用.NET写的web服务!!^_^";   
        
      }   
        
      [WebMethod]   
        
      public   string   datetostr(DateTime   dt)//将时间转换为字符   
        
      {   
        
      return   dt.ToUniversalTime().ToString();   
        
      }   
        
      完整代码如下:   
        
      using   System;   
        
      using   System.Collections;   
        
      using   System.ComponentModel;   
        
      using   System.Data;   
        
      using   System.Diagnostics;   
        
      using   System.Web;   
        
      using   System.Web.Services;   
        
          
        
          
        
      namespace   WebService1   
        
      {   
        
                        public   class   Service1   :   System.Web.Services.WebService   
        
                        {   
        
                                            public   Service1()   
        
                                            {   
        
                                                              //CODEGEN:   该调用是   ASP.NET   Web   服务设计器所必需的   
        
                                                              InitializeComponent();   
        
                                            }   
        
          
        
          
        
                                            #region   组件设计器生成的代码   
        
                                            
        
                                            //Web   服务设计器所必需的   
        
                                            private   IContainer   components   =   null;   
        
                                                                                
        
                                            ///   <summary>   
        
                                            ///   设计器支持所需的方法   -   不要使用代码编辑器修改   
        
                                            ///   此方法的内容。   
        
                                            ///   </summary>   
        
                                            private   void   InitializeComponent()   
        
                                            {   
        
                                            }   
        
                                            ///   <summary>   
        
                                            ///   清理所有正在使用的资源。   
        
                                            ///   </summary>   
        
                                            protected   override   void   Dispose(   bool   disposing   )   
        
                                            {   
        
                                                              if(disposing   &&   components   !=   null)   
        
                                                              {   
        
                                                                                components.Dispose();   
        
                                                              }   
        
                                                              base.Dispose(disposing);                                     
        
                                            }   
        
                                            
        
                                            #endregion   
        
                                            [WebMethod]   
        
                                            public   string   HelloWorld()   
        
                                            {   
        
                                                              return   "Hello   World   用.NET写的web服务!!^_^";   
        
                                            }   
        
                                            [WebMethod]   
        
                                            public   string   datetostr(DateTime   dt)//将时间转换为字符   
        
                                            {   
        
                                                              return   dt.ToUniversalTime().ToString();   
        
                                            }   
        
                        }   
        
      }   
        
      2.编译调试:   
        
          
        
          
        
      我们的webservices已经可以用了;   
        
          
        
          
        
      下面在打开delphi   7   
        
      新建一个应用程序:   
        
      拖两个button两个edit   和一个HTTPRIO(在webservices页上)到窗体上;   
        
      3.接下来:   
        
      File->new->other->webservices->WSDL   importer   
        
      点击next   导入   
        
      保存unit   Service1   
        
      4.在unit1(form1   的单元文件)中引用Service1,   XSBuiltIns   
        
      5.   HTTPRIO1的   
        
      WSDLLocation     属性设置为'http://localhost/WebService1/Service1.asmx?WSDL'   
        
      6.添加form1   的代码如下:   
        
      unit   Unit1;   
        
          
        
      interface   
        
        
        
      uses   
        
          Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,   
        
          Dialogs,   StdCtrls,   InvokeRegistry,   Rio,   SOAPHTTPClient;   
          
        
      type   
        
          TForm1   =   class(TForm)   
        
              Button1:   TButton;   
        
              Button2:   TButton;   
        
              Edit1:   TEdit;   
        
              Edit2:   TEdit;   
        
              HTTPRIO1:   THTTPRIO;   
        
              procedure   Button1Click(Sender:   TObject);   
        
              procedure   Button2Click(Sender:   TObject);   
        
          private   
        
              {   Private   declarations   }   
        
          public   
        
              {   Public   declarations   }   
        
          end;   
        
        
      var   
        
          Form1:   TForm1;   
          
        
      implementation   
        
      uses   
        
          XSBuiltIns,   
        
          Service1;   
        
      {$R   *.dfm}   
        
          
        
          
        
      procedure   TForm1.Button1Click(Sender:   TObject);   
        
      var   
        
          dtm:TXSDateTime;   
        
      begin   
        
          dtm:=TXSDateTime.Create;   
        
          dtm:=DateTimeToXSDateTime(now);   
        
          Edit1.Text:=(HTTPRIO1   as   Service1Soap).datetostr(dtm);   
        
          dtm.free;   
        
      end;   
        
          
        
          
        
      procedure   TForm1.Button2Click(Sender:   TObject);   
        
      begin   
        
          Edit2.Text:=(HTTPRIO1   as   Service1Soap).HelloWorld;   
        
      end;   
        
        
        
      end.   
        
      7.编译运行
    要在delphi中加一句InvRegistry.RegisterInvokeOptions(TypeInfo(ServiceSoap),   ioDocument);
      

  2.   

     imho888,你有没有作好的能运行的给我发一份,我的QQ号上86872182,谢谢了
    我的网上找了半天,都按那样作了,不知为什么总出错
      

  3.   

    是啊,你报什么错啊,前段时间发webserice的帖子挺热的