GetDataメソッドを公開する単純なwcfサービスを作成しました。実際には、新しいwcfプロジェクトを作成するときに作成されるテンプレートです。wcfサービス内部サーバーエラー
このように、私は、IISサーバーにアプリケーションを追加したので、外部からアクセスすることができます:http://192.168.0.100/TFSWrapper/Service1.svc
私はGetDataメソッドにリクエストを送信するために、一般的なSOAPクライアントを使用していました。
ここ<?xml version="1.0" encoding="utf-16"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetData xmlns="http://tempuri.org/" />
</soap:Body>
</soap:Envelope>
がSOAPレスポンスである:これは、生成されたSOAPリクエストである
<?xml version="1.0" encoding="utf-16"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<GetDataResponse xmlns="http://tempuri.org/">
<GetDataResult>You entered: 87</GetDataResult>
</GetDataResponse>
</s:Body>
</s:Envelope>
ところで、私は、メソッドからパラメータを除去し、戻り値をハード。
ご覧のとおり、すべてが正常に動作します。
次に、同じサービスを呼び出すTitaniumクライアントを作成しました。私は上記のように正確な石鹸要求を使用しました。
は基本的に私はこれでした:これが送信される
var s='<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetData xmlns="http://tempuri.org/" /></soap:Body></soap:Envelope>';
//xhr.send(config.envelopeBegin+body+config.envelopeEnd);
xhr.send(s);
を、サーバーには、以下のフォルト文字列と一緒に「500内部サーバーエラー」応答を返している:
アクションとメッセージを EndpointDispatcherでContractFilterの不一致が原因で、 'http://tempuri.org/GetData'は受信者で処理された にはなりません。これは、契約不一致 (送信者と受信者の間の不一致のアクション)または送信者と受信者間のバインド/セキュリティの不一致( )が原因である可能性があります。送信者と 受信者が同じ契約と同じバインディング(メッセージ、転送、なしなどのセキュリティ要件を含む を含む)を持っていることを確認します。
最初にチタン石鹸apiを使用してリクエストXMLを作成しましたが、同じエラーが発生していました。私はそれがどのように作成されたのかという問題でしたが、その理由は私が要求(その作品)をハードコーディングしたものですが、まだ運がないのです。
こんにちは!私はあなたの質問に答えるのを助けることができるように、もう少し情報を提供できますか?特に:どのバージョンのTitanium Mobile SDKを使用していますか?どのバージョンのiOSシミュレータまたはAndroidエミュレータをテストしていますか?数日後にも、そのテストサーバーにはまだ攻撃できますか?私はあなたが作業コードを手に入れるのを手伝ったり、バグを報告してトラックにあなたを止めさせる根本的な問題を修正したりします。後で! –