[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
HTTPAPI - Problem consuming WCF web service - HTTP/1.1 400 Bad Request
I wrote a basic web service and was able to consume it fine. Then I wrote
a WCF web service (Same basic code) and when I tryied to consume it,
received the following error:
HTTP/1.1 400 Bad Request
I have attached the RPG code, the SVC file, and the error log. Can someone
take a quick look to see if I have this set-up properly? Thanks!!
Here is the relevent RPG code:
SOAP =
'<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>'
+'<SOAP:Envelope'
+' xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"'
+' xmlns:tns="http://tempuri.org/ISafeActivationService/"'
+'<SOAP :Body>'
+' <tns:GetData>'
+' <tns:value>'+ %trim(int1) + '</tns:value>'
+' </tns:GetData>'
+'</SOAP:Body>'
+'</SOAP:Envelope>';
http_debug(*ON);
rc = http_url_post_xml(
'http://172.20.20.99/SafeActivationAPI/SafeActivation.svc/basic'
: %addr(SOAP) + 2
: %len(SOAP)
: *NULL
: %paddr(Incoming)
: %addr(String)
: HTTP_TIMEOUT
: HTTP_USERAGENT
: 'text/xml; charset=utf-8'
: 'http://tempuri.org/ISafeActivationService/GetData');
Here is the relevent xml from the SVC file:
<wsdl:message name="ISafeActivationService_GetData_InputMessage">
<wsdl:part name="parameters" element="tns:GetData" />
</wsdl:message>
- <wsdl:message name="ISafeActivationService_GetData_OutputMessage">
<wsdl:part name="parameters" element="tns:GetDataResponse" />
</wsdl:message>
- <wsdl:message name="
ISafeActivationService_GetDataUsingDataContract_InputMessage">
<wsdl:part name="parameters" element="
tns:GetDataUsingDataContract" />
</wsdl:message>
- <wsdl:message name="
ISafeActivationService_GetDataUsingDataContract_OutputMessage">
<wsdl:part name="parameters" element="
tns:GetDataUsingDataContractResponse" />
</wsdl:message>
- <wsdl:portType name="ISafeActivationService">
- <wsdl:operation name="GetData">
<wsdl:input wsaw:Action="
http://tempuri.org/ISafeActivationService/GetData" message="
tns:ISafeActivationService_GetData_InputMessage" />
<wsdl:output wsaw:Action="
http://tempuri.org/ISafeActivationService/GetDataResponse"
message="tns:ISafeActivationService_GetData_OutputMessage" />
</wsdl:operation>
- <wsdl:operation name="GetDataUsingDataContract">
<wsdl:input wsaw:Action="
http://tempuri.org/ISafeActivationService/GetDataUsingDataContract
" message="
tns:ISafeActivationService_GetDataUsingDataContract_InputMessage"
/>
<wsdl:output wsaw:Action="
http://tempuri.org/ISafeActivationService/GetDataUsingDataContractResponse
" message="
tns:ISafeActivationService_GetDataUsingDataContract_OutputMessage
" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="WSHttpBinding_ISafeActivationService" type="
tns:ISafeActivationService">
<wsp:PolicyReference URI="
#WSHttpBinding_ISafeActivationService_policy" />
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"
/>
- <wsdl:operation name="GetData">
<soap12:operation soapAction="
http://tempuri.org/ISafeActivationService/GetData" style="
document" />
- <wsdl:input>
<wsp:PolicyReference URI="
#WSHttpBinding_ISafeActivationService_GetData_Input_policy" />
<soap12:body use="literal" />
</wsdl:input>
- <wsdl:output>
<wsp:PolicyReference URI="
#WSHttpBinding_ISafeActivationService_GetData_output_policy" />
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="GetDataUsingDataContract">
<soap12:operation soapAction="
http://tempuri.org/ISafeActivationService/GetDataUsingDataContract
" style="document" />
- <wsdl:input>
<wsp:PolicyReference URI="
#WSHttpBinding_ISafeActivationService_GetDataUsingDataContract_Input_policy
" />
<soap12:body use="literal" />
</wsdl:input>
- <wsdl:output>
<wsp:PolicyReference URI="
#WSHttpBinding_ISafeActivationService_GetDataUsingDataContract_output_policy
" />
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:binding name="BasicHttpBinding_ISafeActivationService" type="
tns:ISafeActivationService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="GetData">
<soap:operation soapAction="
http://tempuri.org/ISafeActivationService/GetData" style="
document" />
- <wsdl:input>
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="GetDataUsingDataContract">
<soap:operation soapAction="
http://tempuri.org/ISafeActivationService/GetDataUsingDataContract
" style="document" />
- <wsdl:input>
<soap:body use="literal" />
</wsdl:input>
+ <wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="SafeActivationService">
- <wsdl:port name="WSHttpBinding_ISafeActivationService" binding="
tns:WSHttpBinding_ISafeActivationService">
<soap12:address location="
http://745kmiller/SafeActivationAPI/SafeActivation.svc" />
- <wsa10:EndpointReference>
<wsa10:Address>
http://745kmiller/SafeActivationAPI/SafeActivation.svc</
wsa10:Address>
- <Identity xmlns="
http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
<Dns>localhost</Dns>
</Identity>
</wsa10:EndpointReference>
</wsdl:port>
- <wsdl:port name="BasicHttpBinding_ISafeActivationService" binding
="tns:BasicHttpBinding_ISafeActivationService">
<soap:address location="
http://745kmiller/SafeActivationAPI/SafeActivation.svc/basic" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Here is the log output
HTTPAPI Ver 1.23 released 2008-04-24
OS/400 Ver V5R4M0
New iconv() objects set, PostRem=819. PostLoc=0. ProtRem=819. ProtLoc=0
http_persist_open(): entered
http_long_ParseURL(): entered
DNS resolver retrans: 2
DNS resolver retry : 2
DNS resolver options: x'00000136'
DNS default domain: PRI.COM
DNS server found: 172.20.20.93
http_persist_post(): entered
http_long_ParseURL(): entered
do_post(): entered
POST /SafeActivationAPI/SafeActivation.svc/basic HTTP/1.1
Host: 172.20.20.99
User-Agent: http-api/1.23
Content-Type: text/xml; charset=utf-8
SOAPAction: http://tempuri.org/ISafeActivationService/GetData
Expect: 100-continue
Content-Length: 291
recvresp(): entered
HTTP/1.1 100 Continue
Server: Microsoft-IIS/5.1
Date: Fri, 10 Sep 2010 19:33:10 GMT
X-Powered-By: ASP.NET
SetError() #13: HTTP/1.1 100 Continue
senddoc(): entered
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?><SOAP:Envelope
xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="
http://tempuri.org/ISafeActivationService/"<SOAP :Body> <tns:GetData>
<tns:value>7</tns:value> </tns:GetData></SOAP:Body></SOAP:Envelope>
recvresp(): entered
HTTP/1.1 400 Bad Request
Server: Microsoft-IIS/5.1
Date: Fri, 10 Sep 2010 19:33:10 GMT
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Length: 0
SetError() #13: HTTP/1.1 400 Bad Request
recvdoc parms: identity 0
header_load_cookies() entered
recvdoc(): entered
SetError() #0:
SetError() #13: HTTP/1.1 400 Bad Request
http_close(): entered
-----------------------------------------------------------------------
This is the FTPAPI mailing list. To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------