以前写的一个webservice的dll 在server 2003下工作的好好的 现在迁移到server 2008下 运行提示 结束标记'head'与开始标记'meta不匹配'
加急

解决方案 »

  1.   

    具体问题具体分析。要看你的dll生成的东西是不是本身就有问题。例如可能是你的东东在IIS 6下面没有暴露出来的bug。
      

  2.   

    我写了一个最简单的webservice 的demo 还是提示这个 代码如下unit webIntf;interfaceuses InvokeRegistry, Types, XSBuiltIns;type  { Invokable interfaces must derive from IInvokable }
      Iweb = interface(IInvokable)
      ['{12FCCFD6-E35B-4414-9AF3-8DA9C7BA3BE4}']
       function login(str:string):string;stdcall;
        { Methods of Invokable interface must not use the default }
        { calling convention; stdcall is recommended }
      end;implementationinitialization
      { Invokable interfaces must be registered }
      InvRegistry.RegisterInterface(TypeInfo(Iweb));end.unit webImpl;interfaceuses InvokeRegistry, Types, XSBuiltIns, webIntf;type  { Tweb }
      Tweb = class(TInvokableClass, Iweb)
      public
      function login(str:string):string;stdcall;
      end;implementation
      function Tweb.login(str:string):string;stdcall;
      begin
         result:='hello wold';
      end;
      procedure hello(out obj:tobject);//此过程为创建类实例,必须手工添加
      begin
       obj:=Tweb.Create;//创建类实例
       end;
    initialization
    { Invokable classes must be registered }
       InvRegistry.RegisterInvokableClass(Tweb,hello);
    end.
    unit webImpl;interfaceuses InvokeRegistry, Types, XSBuiltIns, webIntf;type  { Tweb }
      Tweb = class(TInvokableClass, Iweb)
      public
      function login(str:string):string;stdcall;
      end;implementation
      function Tweb.login(str:string):string;stdcall;
      begin
         result:='hello wold';
      end;
      procedure hello(out obj:tobject);//此过程为创建类实例,必须手工添加
      begin
       obj:=Tweb.Create;//创建类实例
       end;
    initialization
    { Invokable classes must be registered }
       InvRegistry.RegisterInvokableClass(Tweb,hello);
    end.unit Unit1;interfaceuses
      SysUtils, Classes, HTTPApp, InvokeRegistry, WSDLIntf, TypInfo, WebServExp,
      WSDLBind, XMLSchema, WSDLPub, SOAPPasInv, SOAPHTTPPasInv, SOAPHTTPDisp,
      WebBrokerSOAP;type
      TWebModule1 = class(TWebModule)
        HTTPSoapDispatcher1: THTTPSoapDispatcher;
        HTTPSoapPascalInvoker1: THTTPSoapPascalInvoker;
        WSDLHTMLPublish1: TWSDLHTMLPublish;
        procedure WebModule1DefaultHandlerAction(Sender: TObject;
          Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      WebModule1: TWebModule1;implementation{$R *.dfm}procedure TWebModule1.WebModule1DefaultHandlerAction(Sender: TObject;
      Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
    begin
      WSDLHTMLPublish1.ServiceInfo(Sender, Request, Response, Handled);
    end;end.
    就这个最基本的一个webservice demo都不能在win7下运行
      

  3.   

    普通的isapi能不能被运行?
    是不是iis7又多了什么安全限制??
      

  4.   

    运行能运行 用浏览器直接访问能看到 但是delphi的 service控件访问就报这个错 是不是iis7的输出的html语句变了