ユニットUnit1は、 インターフェース 用途 Winapi.Windows、Winapi.Messages、System.SysUtils、System.Variants、System.Classes、Vcl.Graphics、 Vcl.Controls、Vcl.Forms、Vcl.Dialogs、Vcl.StdCtrls。 入力 TForm1 = クラス(TFormは) BTN1:のTButtonと、 edt1:TEDIT。 手順btn1Click(送信者:TObjectを); プライベート { プライベート宣言} 公共 { 公開宣言} エンド。 VAR をForm1:TForm1; 実装 { $ R * .DFM }は 使用HelloService1と、 手順TForm1.btn1Click(送信者:TObjectを); VaRの OWS:HelloService。 S:文字列; 開始 // 'のhttp:// localhostを:?8080 / helloService /サービス/ HelloService WSDL'; // OWS:= GetHelloService(真'のhttp:// localhostを:8081 / WSDL / IMyData'、nilを); OWS:= GetHelloService(真、' ?にhttp:// localhost:8080 / helloService /サービス/ HelloService WSDL '、nilを); // 参数中可以使用配置的URL S:= ows.say(' delphixe10 XXXX:' ); もし長さ(S)<> 0 、次いで 開始 edt1.Text: = Sを、 エンド; エンド; 終わり。 // 导入WSDL文件后自动生成的.PAS文件 // ************************************ ************************************ // // このファイルで宣言された型は、データから生成されました読み取る // WSDLファイルは、以下の: // WSDLをします。http:// localhost:8080 / helloService /サービス/ HelloService WSDL? // >インポートします。http:// localhost:?8080 / helloService /サービス/ HelloService WSDL> 0 // エンコード:UTF-8 // バージョン:1.0 // (2018年9月3日〇時55分03秒- - $改訂:69934 $) //************************************************** ********************** // ユニットHelloService1。 インターフェイスは 使用していますSoap.InvokeRegistry、Soap.SOAPHTTPClient、System.Types、Soap.XSBuiltInsを。 constの IS_REFは $ = 0080 ; タイプ // *********************************************** ************************* // // WSDL文書で言及し、次の種類は、表現されていない // このファイルに。彼らはどちらかの別名である[@]他の種類のが表されていないか、呼ばれていました // 決してではなく[!]文書で宣言されました。後者のカテゴリからタイプ //典型的には、事前定義/既知のXMLまたはエンバカデロ型にマップ。しかし、彼らはまた、可能性が // スキーマ型を宣言するか、インポートに失敗した間違ったWSDL文書を示しています。 // ************************************************ ************************ // // :!文字列- 「http://www.w3.org/2001/XMLSchema"[Gbl] // ************************************************ ************************ // // 名前空間ます。http://サービス // 輸送:http://schemas.xmlsoap.org/soap / HTTP // スタイル:ドキュメント // 使用:リテラル // バインディング:HelloServiceSoapBinding // サービス:HelloServiceService // ポート:HelloService // URLます。http:// localhost:8080 / helloService /サービス/ HelloService // ************************** ********************************************** // HelloService = インタフェース(IInvokable) [ ' {A2CB7213-47FF-E203-449D-D3EC4A92A153} ' ] 関数 言う(CONST名_:文字列):文字列。STDCALL ; エンド; 機能 GetHelloService(UseWSDL:ブール= System.False; ADDR:文字列 = '' ; HTTPRIO:THTTPRIO = nilを):HelloService。 実装は 使用していますSystem.SysUtilsを。 機能 GetHelloService(UseWSDL:ブール; ADDR:文字列; HTTPRIO:THTTPRIO):HelloService。 constの defWSDL = ' ?にhttp:// localhost:8080 / helloService /サービス/ HelloService WSDL ' ; defURL = ' にhttp:// localhost:8080 / helloService /サービス/ HelloService ' ; defSvc = ' HelloServiceService ' ; defPrt = ' HelloService ' ; VaRの RIO:THTTPRIO。 ベギン 結果: = nilを; 場合(アドレス= 「」)、その後 始まる 場合 UseWSDL 、その後 の住所: = defWSDL 他 の住所: = defURL。 エンド; もし HTTPRIO = nilの 後、 RIO: = THTTPRIO。作成(ゼロ) 他の RIO: = HTTPRIOを。 試す の検索結果を: =(RIO としてHelloService); 場合 UseWSDLは、その後 始まります RIO.WSDLLocation: = ADDR; RIO.Service: = defSvc。 RIO.Port: = defPrt。 終了 他 :RIO.URL = ADDRを。 最後に あれば(結果= ゼロ)と(HTTPRIO = nilの)その後、 RIO.Free。 エンド; エンド; 初期 { HelloService } InvRegistry.RegisterInterface(のTypeInfo(HelloService)、' HTTP://サービス'、' UTF-8 ' )。 InvRegistry.RegisterDefaultSOAPAction(のTypeInfo(HelloService)、'' ); InvRegistry.RegisterInvokeOptions(のTypeInfo(HelloService)、ioDocument)。 { HelloService.say } InvRegistry.RegisterMethodInfo(のTypeInfo(HelloService)、' 言う'、'' 、 ' [ReturnName = "sayReturn"] ' )。 InvRegistry.RegisterParamInfo(のTypeInfo(HelloService)、' 言う'、' 名_ '、' 名'、'' ); 終わり。 //HelloService.javaの パッケージサービス。 パブリック クラス HelloService { 公共の文字列の発言(文字列名)は、InterruptedExceptionある{スロー リターンを「ハローworldxxx ----->」+名。 } }
デルファイ呼び出しのJava Webサービス
おすすめ
転載: www.cnblogs.com/tobetterlife/p/12172975.html
ランキング