現在、SOAPクライアントをC#で修正しようとしていますが、転送エンコーディングに何とか悩まされています。私は多かれ少なかれC#の初心者ですので、完全に可能なのは、ちょうどここでマイナーなものを欠いている可能性があります。C#サービスクライアント - 転送エンコーディング:チャンク
私はローカルのTomcatサーバーから次のようにSOAPサービスを消費しました:hxxp://www.csharptutorial.in/37/csharp-net-how-to-consume-a-web-service-in-csharp-net -visual-STUDIO-2010
私の現在のコード:
using System;
using ConsoleApp1.Lims;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
LimsZugriffService client = new LimsZugriffService();
// FunktionsErgebnis response = client.connect();
// Console.WriteLine("Connect" + response.meldung);
String[] bond = new String[] { "versuch.auftrag.nr=2014/0031" };
String[] bondFail = new String[] { "abc" };
VersuchsschrittErgebnis reponseVersuch = client.ermittleVersuchsschritte(bond);
Console.WriteLine(reponseVersuch.ermittelteVersuchsschritte.Length);
Console.WriteLine(reponseVersuch.meldung);
}
}
}
いくつかのテストの後、私は意図したとおりに何かが動作しないこと、が分かりました。私の応答 - <ermittelteVersuchsschritte>
の配列は空であるように見えますが、 "control" -Flagsは正常に解析されます。
クライアントとサーバーの間のトラフィックをキャプチャして、何が間違っていたかを把握しました。実際には完全にそこにありました。ちょうど8192バイトブロックにチャンクされました。
WebClientのC#実装にTransfer-Encoding: Chunked
の問題がありますか。
数時間のGoogle検索の後、私はこの問題に満足のいく解決策を見つけることができませんでした。私はC#とWebServicesが私より優れていると知っている誰かが答えを持っていることを願っています。完全を期すために
:
マイWSDL