問題タブ [sap-pi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf - 一方向操作を呼び出す WCF クライアントの問題
WCF クライアントから SAP PI バスで Web サービスを呼び出すときに問題が発生しました。操作は一方向として定義されており、プロキシ操作コントラクトのメソッドは、サービス参照が追加されるとそれに応じて装飾されます。ただし、サービス クライアントは、対応する操作を呼び出すときに例外を取得します。
一方向の操作で、Action='' の null 以外のメッセージが返されました
SoapUI を使用すると、バス上のメソッドを正常に呼び出すことができ、ボディが空の SOAP エンベロープが返されます。バス関係者によると、これは SOAP 仕様によるものです。
(SOAP 仕様、4.7.9 章、一方向操作):
一方向の操作を実行するときに HTTP を使用する方法については、さまざまな解釈があります。
R2714一方向の操作の場合、インスタンスはエンベロープを含む HTTP 応答を返してはなりません。具体的には、HTTP 応答のエンティティ ボディは空にする必要があります。
R2750 コンシューマーは、一方向の操作で HTTP 応答メッセージで運ばれるエンベロープを無視する必要があります。
R2727一方向の操作の場合、CONSUMER は成功した HTTP 応答ステータス コード (つまり、2xx) を、メッセージが有効であること、または受信者がそれを処理することを意味するものとして解釈してはなりません (MUST NOT)。
私の WCF クライアントは R2750 に準拠していないようです。
プロキシの操作コントラクトを強制的にIsOneWay = falseにすると、すべてが機能することがわかりました。
WCF が一方向の操作を処理する方法に何か問題がありますか、それとも何か間違っていますか (可能性が高いですか)? 他にすべきことはありますか?生成された WCF プロキシ クライアントをオーバーライドするのは適切ではないようです。
提案をありがとう。
architecture - の SAP PI コンポーネント。さまざまな環境
現在、PI をシステム ランドスケープに統合しています。
SAP Best Practices for Naming Conventions で、ビジネス システム名にステージ/環境を含める必要があることを読みました。
例: BS_SOMEJMS_P (プロダクションの P として)
私の質問は; レシーバー決定などのさまざまなコンポーネントに、ビジネスシステム名を含めます。技術的には、これは、異なる環境ごとに受信者決定を作成する必要があることを意味しますか? 私は、差分環境の構成ファイルから環境変数を取得する単一のコンポーネントで作業することに慣れています。
.net - WCFを介してSAPPIサービスを呼び出す際のCX_ST_MATCH_ELEMENT:XSLT例外
XI / PI Webサービスを介してSAP汎用モジュールと通信するC#アプリケーションがあります。
私のC#コードは、Visual Studioで生成されたWCFプロキシ(VisualStudioの[サービス参照の追加...]ウィザードで生成されたもの)を使用しています。
「 CX_ST_MATCH_ELEMENT:XSLTexception.Systemが期待する要素'EReturn' 」というメッセージを含むSystem.ServiceModel.FaultExceptionが発生します。
「EReturn」は、汎用モジュールからの応答で使用されますが、入力には使用されない配列です。古いwebMethodsサービスでは、このフィールドをnullのままにすることができました。このメッセージは、XIサービス用に初期化する必要があることを示していますか?
.net - SAP PI Web サービスの呼び出し中に「ABAP の XML 形式と一致する有効な日付ではありません」というエラーが発生する
WCF を介して .NET アプリケーションから SAP XI/PI Web サービスを呼び出すと、この System.ServiceModel.FaultException が発生します。
CX_SY_CONVERSION_NO_DATE_TIME:XSLT 例外。単純な変換プログラム /1BCDWB/WSSB430AA018B4EA689BF0 でデシリアライズ中にエラーが発生しました。値 2010 年 7 月 12 日は、ABAP の XML 形式と一致する有効な日付ではありません
問題の日付は、.NET の DateTime.ToShortDateString() メソッドでフォーマットしている文字列フィールドです。
日付の有効な「ABAP の XML 形式」とは何か教えてもらえますか?
c# - HTTP ステータス 401: ExtendedPSI からの呼び出し時に権限がありません
現在、多数の既存の PSI Web サービスを呼び出す ExtendedPSI Web サービスを開発しようとしています。問題は、エラーが表示されることです
System.Net.WebException: HTTP ステータス 401 で要求が失敗しました: 権限がありません。
作成した ExtendedPSI から既存の PSI サービスにアクセスしようとすると、.
次のスニペットを使用して、ExtendedPSI で資格情報をハードコーディングすると、サービスを機能させることができます。
しかし、私が使用するときではありません:
(私は CredentialCache.DefaultNetworkCredentials を試しましたが、これは HTTP または FTP では機能しません)
クライアントのweb.configまたは呼び出し元のwebappの仮想で、Windows認証を有効にしたり、匿名アクセスを削除したりするなどの提案を含む多数の投稿を読みましたが、最終的なソリューションが呼び出されるため、SoapUIを使用してExtendedPSIサービスを呼び出していますESB プラットフォーム (つまり、SAP PI) によって。
しかし、SoapUI を使用して、既存の PSI サービス (ExtendedPSI サービスで呼び出される Web サービス) のそれぞれを SoapUI インターフェイスでログイン情報を提供することで順番に呼び出すことができたので、資格情報を渡すことができる限り既存のサービスが機能することがわかりました。ただし、 CredentialCache.DefaultCredentialsを使用する場合は空です。
これが誰かにとって意味があることを願っています (これは Web サービスでの私の最初の試みなので、少しあいまいな場合はお詫びします)。サービス内でログオンの詳細をハードコーディングしたくないので、誰かが以前にこれに遭遇し、使用できる解決策を持っていることを願っています...
必要な情報は HttpContext で保持されますか? たぶん渡すことができる暗号化されたトークン(ここにたどり着くだけです:)? それとも、これらの既存の PSI Web サービスにアクセスするには一般ユーザーが必要ですか?
参考までに: 私は記事http://msdn.microsoft.com/en-us/library/bb428837.aspx (既存の PSI を呼び出すためにさらに拡張しました) に従いましたが、サービスを呼び出す何らかの MS.NET クライアントを想定しています。 .
前もって感謝します...
よろしく、 タータンボノ
.net - ISV 企業にとっての SAP 統合のベスト プラクティスは?
私たちは小規模な ISV 企業であり、顧客環境にインストールする際に SAP 統合に依存することが多い製品を開発しています。
私たちは現在、可能な限り最も標準的な方法で、当社の製品を SAP と統合する最適な方法を探しています。最小限の作業量でほとんどのお客様に対応できるソリューションが必要です (一部のお客様は実際には独自の SAP リソースを持っていません)。
顧客、住所、在庫品目などの基本情報を受け取る必要があります。SAP でさらに処理するために、請求書情報を SAP に送信する必要もあります。
たとえば、ここを読んだ後、NetWeaverとPIが最善の方法であるように見えます。しかし、正しいサービスを公開して呼び出すには、クライアント PI 側で多くの開発が必要ではないでしょうか? どうすれば解決できますか?
もう 1 つの質問は、すべての SAP 顧客が NetWeaver を持っていることさえ普通なのかということです。すべての顧客に対応するソリューションが必要です。一部の顧客は、小規模な SAP インストールを使用する中規模の SAP 顧客です。
PI が適していない場合、どのような選択肢があり、長所と短所は何ですか?
2010 年 12 月 30 日更新 - 要件。 私たちが満たす必要があるいくつかの要件は次のとおりです。
- ソリューションの製品側の .NET ベースのソリューション (WCF など)。
- BizTalk などの高価な統合プラットフォームを使用しないでください。たとえば、AppFabric や WCF に基づく標準ソリューションが必要です。
- 両方のバッチ更新 (顧客バッチなど) を処理するだけでなく、呼び出しなどの応答/要求も処理します。
wcf - .NET からの SAP PI 呼び出しでの基本認証の使用
C#.net コンソール アプリを使用して SAP PI Web サービスを呼び出そうとすると、次のエラー メッセージが表示されます。
私のカスタムバインディングは次のようになります:
上記で何か間違ったことをしている場合、誰かが私を修正してもらえますか? ありがとうございました。
wcf - SAP PI への送信中に SOAP 要求が正しくない
SAP PI Web サービスを使用していますが、何らかの理由で機能していません。以下の不適切な SOAP XML が原因であると考えています。
これは、SAP PI が期待しているものです。
これは私が送っているものです:
サーバーが期待するように XML 要求をフォーマットするために、クライアント側で実行できる方法 (プログラムまたは構成) はありますか?
または、WSDL で修正する必要があり、クライアント プログラム (私のプログラム) は必要な xml を自動的に生成しますか?
山盛りありがとう。
sap - SAP PI 7.1 でのカスタム アダプターの作成
PI でカスタム アダプターを作成する必要があります。これに関するあなたのアイデアや経験を共有するのを手伝ってくれませんか?
PI 7.1 を使用しています。また、レピュテーションが 1500 未満のユーザーは新しいタグを作成できません。タグ「sap-pi」が新しくなりました。だから私はsap-xiタグを使いました
php - PHP SOAP が SAP PI/XI SOAP 障害をキャッチしない
SAP PI Web サービスへの SOAP リクエストを行います。このサービスは、次のような SOAP エラーを返します。
PHPでは、次のことを行います。
nullを出力しますが、例外をスローする必要があります
自分の Web サービスで同じ xml (soap fault) を出力すると、問題なくキャッチできます。