Получение ошибки удаленный сервер вернул ошибку: (400) плохой запрос.
Привет,
Я новичок в WCF
Во время использования rest WCF службы Post метод получает ошибку
Удаленный сервер вернул ошибку: (400) плохой запрос.
Я запутываюсь, как передать входные параметры в сервис и как получить вывод из сервиса...стараюсь изо всех сил, но не получаю вывода...
Что я уже пробовал:
Web.config на стороне клиента
<system.serviceModel> <bindings> <wsHttpBinding> <binding name="WSHttpBinding_IPushOrderDataService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="500000000" maxReceivedMessageSize="5000000" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="true"> <readerQuotas maxDepth="500000000" maxStringContentLength="5000000" maxArrayLength="500000000" maxBytesPerRead="4096" maxNameTableCharCount="500000000" /> <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" /> </binding> </wsHttpBinding> </bindings> <client> <endpoint address="http://dotzot-test.azurewebsites.net/RestService/PushOrderDataService.svc/PushOrderData_PUDO_New" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IPushOrderDataService" contract="ServiceReference2.IPushOrderDataService" name="WSHttpBinding_IPushOrderDataService"> <identity> <dns value="localhost" /> </identity> </endpoint> </client> </system.serviceModel>
код по умолчанию. cs
ServiceReference2.PushOrderDataServiceClient ok = new ServiceReference2.PushOrderDataServiceClient(); ServiceReference2.PushOrderDataServiceClient wcfServiceClient = new ServiceReference2.PushOrderDataServiceClient(); ServiceReference2.NewDataSet newresp = new ServiceReference2.NewDataSet(); ServiceReference2.Customer cust = new ServiceReference2.Customer(); // cust.BRCD=""; cust.CUSTCD = "CC000100132"; ServiceReference2.DocketList dock = new ServiceReference2.DocketList(); dock.AgentID = ""; dock.AwbNo = ""; dock.Breath = "1"; dock.CollectableAmount = "2800"; dock.CustomerName = "suraj"; dock.Height = "1"; dock.IsPudo = "N"; dock.ItemName = "i-phone"; dock.Length = "1"; dock.Mode = "C"; dock.NoOfPieces = "3"; dock.OrderConformation = "Y"; dock.OrderNo = "475698231"; dock.ProductCode = "213054"; dock.PudoId = ""; dock.RateCalculation = "Y"; dock.ShippingAdd1 = "Pune"; dock.ShippingAdd2 = "Pune"; dock.ShippingCity = "Pune"; dock.ShippingEmailId = "Pune"; dock.ShippingMobileNo = "7276872768"; dock.ShippingState = "Maharashtra"; dock.ShippingTelephoneNo = "7276872768"; dock.ShippingZip = "411041"; dock.TotalAmount = "2999"; dock.TypeOfDelivery = "Home Delivery"; dock.TypeOfService = "Express"; dock.UOM = "Per KG"; dock.VendorAddress1 = "Pune"; dock.VendorAddress2 = "Pune"; dock.VendorName = "Shri"; dock.VendorPincode = "411041"; dock.VendorTeleNo = "7276872768"; dock.Weight = "300"; wcfServiceClient.PushOrderData_PUDO_New(newresp);
Tom Wauters
Привет,
Не знаю, что вы здесь пытаетесь сделать.
Насколько я могу видеть здесь, ваша переменная newresp пуста.
Вы заполняете список клиентов и список дел, но не NewDataSet, который вы предоставляете службе. Может быть, он заполняется в другой части вашего кода,здесь немного информации. Кроме того, у нас нет никакого способа узнать, какой тип wcfServiceClient.PushOrderData_PUDO_New (); функция в вашем сервисе ожидает.