すでにデプロイされており、SOAPを使用してクライアントと通信するAxis2Webサービスがあります。JSONリクエストを送信してJSON形式のレスポンスを受信することでREST呼び出しを有効にする新しい要件があります。
この小さなチュートリアルに従ってください:http ://code.google.com/p/jsonp-support-for-axis2/wiki/OneStopPage
Axis2Webサービスを正しく構成できました。ブラウザを使用して、次のURLを使用してStudentオブジェクトを返しました。
http://localhost:8181/Axis2Json/services/StudentService/getStudent?response=application/json&value=3
出力:
{"return":{"@type":"ax21:Student","age":25,"firstName":"Mouhammed","lastName":"Soueidane"}}
問題は、返されたJSONが標準のJSON表現のように見えないことです(badgerfish形式でも)。したがって、たとえば、Studentオブジェクトを取り込む「setStudent」というメソッドを呼び出したい場合、渡す必要のあるJSON文字列の手がかりは実際にはありません。
私は非常に多くのことを試しましたが、そのほとんどがキャストの例外になりました(java.lang.ClassCastException: java.lang.String cannot be cast to org.codehaus.jettison.json.JSONObject)
クライアントのコンテンツタイプに基づいて、Axis 2 WebサービスがSOAPとJSONの両方を使用できるようにする方法について誰かが考えていますか?