私はこのWCFサービスを持っています:
[ServiceContract]
public interface IService
{
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "/PostComments", BodyStyle = WebMessageBodyStyle.Wrapped,
RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
string PostComments(string ItemId, string Comments, string FullName, string Location);
}
[DataContract]
public class Comment
{
[DataMember]
public string ItemId { get; set;}
[DataMember]
public string Comments { get; set;}
[DataMember]
public string FullName { get; set;}
[DataMember]
public string Location { get; set;}
}
public class Service : IService
{
int i = 0;
public string PostComments(string ItemId, string Comments, string FullName, string Location)
{
int Id;
Id = Convert.ToInt32(ItemId);
adp = new SqlDataAdapter("insert into tblComment(intId,strComments,strFullName,strLocation,dtPosted,blnApprove) values("+Id+",'"+Comments+"','"+FullName+"','"+Location+"',GetDate(),1)", offcon);
adp.Fill(ds1,"Comment");
DataTable dt = ds1.Tables["Comment"];
i++;
}
if (i > 0)
{
return "Comment Successfully Submitted.";
}
else
{
return "Comment falied to Submit.";
}
}
最終的なURLは::http://192.168.1.11/Service.Svc/PostCommentsです。
ここで私の主な質問は、クライアントがJAVAの場合にWCFでPOSTアクションを実行する方法です。
このエラーが発生します:
サーバーでリクエストの処理中にエラーが発生しました。例外メッセージは次のとおりです。'着信メッセージのメッセージ形式は'Raw'です。操作に必要なメッセージ形式は「Xml」、「Json」です。これは、WebContentTypeMapperがバインディングで構成されていないことが原因である可能性があります。詳細については、WebContentTypeMapperのドキュメントを参照してください。詳細については、サーバーログを参照してください。例外スタックトレースは次のとおりです。
System.ServiceModel.Dispatcher.DemultiplexingDispatchMessageFormatter.DeserializeRequest(メッセージメッセージ、Object []パラメータ)at System.ServiceModel.Dispatcher.UriTemplateDispatchFormatter.DeserializeRequest(メッセージメッセージ、Object []パラメータ)at System.ServiceModel.Dispatcher.CompositeDispatchFormatter.DeserializeRequest(メッセージメッセージ、Object []パラメータ)at System.ServiceModel.Dispatcher.DispatchOperationRuntime.DeserializeInputs(MessageRpc&rpc)at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc&rpc)atSystem.ServiceModel.Dispatcher.ImmutableDispatchRuntime。ProcessMessage4(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&rpc)at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)のServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&rpc)ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&rpc)atSystem.ServiceModel.Dispatcher。ブールisOperationContextSet)ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&rpc)atSystem.ServiceModel.Dispatcher。ブールisOperationContextSet)
これは、サービスでPostメソッドを実行しようとしたときのエラーです。修正方法がわかりません。しかし、.netアプリケーションでは完全に正常に機能しています。しかし、JAVAにはありません。これを修正する方法。