2

サービススタックバックエンドを使用したバックボーンコレクションフェッチの単純な呼び出しのヘッダーに問題があります。

返される応答はjsonのように見えますが、単なる生の文字列であり、バックボーンはコレクションをフェッチしません。

フェッチ呼び出しは常にエラーになることに気づきました。同じURLのcurlリクエストですべて問題がないことを確認でき、200OKコードを復活させるのでこれは奇妙です。

編集:完全な応答を追加

カールの呼び出しと受信した出力

応答のヘッダー

> GET /tickets?format=json HTTP/1.1
> User-Agent: curl/7.25.0 (i386-pc-win32) libcurl/7.25.0 zlib/1.2.5
> Host: 192.168.1.50
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Date: Tue, 19 Jun 2012 13:09:35 GMT
< Server: Mono.WebServer.XSP/2.8.0.0 Win32NT
< X-AspNet-Version: 4.0.30319
< X-Powered-By: ServiceStack/3,69 Win32NT/.NET
< Set-Cookie: ss-id=URB3Ss34BE2FBliYDXEpBQ==; path=/
< Set-Cookie: ss-pid=HAfI68bmXU6jRdTiH0WEBA==; expires=Sat, 19-Jun-2032 13:06:26
 GMT; path=/
< Cache-Control: private, no-cache="Set-Cookie"
< Content-Type: application/json; charset=utf-8
< Content-Length: 459
< Keep-Alive: timeout=15, max=100
* HTTP/1.0 connection set to keep alive!
< Connection: Keep-Alive

生の文字列として受け取ったjson

[{"id":1,"urgencia":"Normal","fecha":"\/Date(-62135580600000- 0430)\/","ultimaActualizacion":"\/Date(-62135580600000-0430)\/","titulo":"Error 101","descripcion":"Al encender el equipo retorna error 101","status":"A","causas":[],"adjuntos":[],"operadores":[],"citas":[],"estados":[],"comentarios":[{"id":1,"fecha":"\/Date(-62135580600000-0430)\/","editado":"\/Date(-62135580600000-0430)\/","descripcion":"este es un comentario","status":" ","comentarios":[]}]}]

では、バックボーンコレクションがjson応答であることを理解できるように、サービススタックにヘッダーを設定するにはどうすればよいですか?

更新: Restサービスに直接使用できないため、Nhibernateモデルに関係する問題の根本を発見したと思います。他のモデルは、正しいタイプに解析されます。それでも理由はわかりません。これを見ていきます。

ご協力いただきありがとうございます。

4

1 に答える 1

0

この問題はこれに関連していることがわかりました。@jonezyが「ヘッダーが正しい場合でも、応答自体が正しいことを意味するわけではありません」と言ったので、ヘッダーの問題ではありません。ServiceStackはNhibernateに関連付けられたモデルを正しくシリアル化できません。だから私はこのようなことをしなければなりません。

同様の問題がここにあります

皆様のご協力に感謝いたします。

于 2012-06-20T13:43:14.867 に答える