-
Notifications
You must be signed in to change notification settings - Fork 616
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SOAPFault error for operation 'set_json_quote_pricing' after upgrading from Savon 2.12 to 2.15 #1015
Comments
Thanks. Can you provide an example wsdl (or the relevant part of it)? Or can you record the calls in both versions (enable http logging) and post the output from savon so we can see what changed? Won't be able to reproduce your issue to fix it otherwise. |
@pcai Thank you for your prompt response. Below are the SOAP request and response logs for both version 2.12.0 (which works as expected) and version 2.15.1 (where the issue occurs). MY WSDL file looks like <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://example/quote" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" name="ServiceController" targetNamespace="http://example/quote">
<operation name="setVendorQuoteStatus">
<documentation>setVendorQuoteStatus</documentation>
<input message="tns:setVendorQuoteStatusIn"/>
<output message="tns:setVendorQuoteStatusOut"/>
</operation>
<message name="setVendorQuoteStatusIn">
<part name="data" type="xsd:string"/>
</message>
<message name="setVendorQuoteStatusOut">
<part name="return" type="xsd:boolean"/>
</message>
<binding name="ServiceControllerBinding" type="tns:ServiceControllerPort">
<operation name="setVendorQuoteStatus">
<soap:operation soapAction="http://example/quote#setVendorQuoteStatus"/>
<input>
<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://example/quote"/>
</input>
<output>
<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://example/quote"/>
</output>
</operation>
</binding>
<operation name="setJSONQuotePricing">
<documentation>setJSONQuotePricing</documentation>
<input message="tns:setJSONQuotePricingIn"/>
<output message="tns:setJSONQuotePricingOut"/>
</operation>
<message name="setJSONQuotePricingIn">
<part name="data" type="xsd:string"/>
</message>
<message name="setJSONQuotePricingOut">
<part name="return" type="xsd:boolean"/>
</message>
<binding name="ServiceControllerBinding" type="tns:ServiceControllerPort">
<operation name="setJSONQuotePricing">
<soap:operation soapAction="http://example/quote#setJSONQuotePricing"/>
<input>
<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://example/quote"/>
</input>
<output>
<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://example/quote"/>
</output>
</operation>
</binding>
Version 2.12.0 Logs: Request: worker-1 | I, [2024-08-24T03:34:57.213633 #1] INFO -- : SOAP request: http://example/quote
worker-1 | I, [2024-08-24T03:34:57.214002 #1] INFO -- : SOAPAction: "http://example/quote#setJSONQuotePricing", Content-Type: text/xml;charset=UTF-8, Content-Length: 39253
worker-1 | D, [2024-08-24T03:34:57.218191 #1] DEBUG -- : <?xml version="1.0" encoding="UTF-8"?>
worker-1 | <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://example/quote" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
worker-1 | <env:Body>
worker-1 | <tns:setJSONQuotePricing>
worker-1 | <data>...</data>
worker-1 | </tns:setJSONQuotePricing>
worker-1 | </env:Body>
worker-1 | </env:Envelope> Response: worker-1 | I, [2024-08-24T03:34:57.672429 #1] INFO -- : SOAP response (status 200)
worker-1 | D, [2024-08-24T03:34:57.672762 #1] DEBUG -- : <?xml version="1.0" encoding="UTF-8"?>
worker-1 | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://example/quote" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
worker-1 | <SOAP-ENV:Body>
worker-1 | <ns1:setJSONQuotePricingResponse>
worker-1 | <return xsi:type="xsd:boolean">true</return>
worker-1 | </ns1:setJSONQuotePricingResponse>
worker-1 | </SOAP-ENV:Body>
worker-1 | </SOAP-ENV:Envelope> Version 2.15.1 Logs: Request: api-1 | I, [2024-08-24T03:59:57.888515 #1] INFO -- : SOAP request: http://example/quote
api-1 | I, [2024-08-24T03:59:57.888681 #1] INFO -- : SOAPAction: "http://example/quote#setVendorQuoteStatus"
api-1 | Content-Type: text/xml;charset=UTF-8
api-1 | Content-Length: 698
api-1 | D, [2024-08-24T03:59:57.890289 #1] DEBUG -- : <?xml version="1.0" encoding="UTF-8"?>
api-1 | <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://example/quote" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/">
api-1 | <env:Body>
api-1 | <tns:setVendorQuoteStatusIn>
api-1 | <data>{"quoteReference":"test","message":null,"vendor":null,"status":0}</data>
api-1 | </tns:setVendorQuoteStatusIn>
api-1 | </env:Body>
api-1 | </env:Envelope>
Response: Response:
api-1 | I, [2024-08-24T03:59:58.033572 #1] INFO -- : SOAP response (status 500)
api-1 | D, [2024-08-24T03:59:58.033741 #1] DEBUG -- : date: Sat, 24 Aug 2024 03:59:57 GMT
api-1 | server: Apache
api-1 | content-length: 313
api-1 | content-type: text/xml; charset=utf-8
api-1 | D, [2024-08-24T03:59:58.034075 #1] DEBUG -- : <?xml version="1.0" encoding="UTF-8"?>
api-1 | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
api-1 | <SOAP-ENV:Body>
api-1 | <SOAP-ENV:Fault>
api-1 | <faultcode>SOAP-ENV:Server</faultcode>
api-1 | <faultstring>Procedure 'setVendorQuoteStatusIn' not present</faultstring>
api-1 | </SOAP-ENV:Fault>
api-1 | </SOAP-ENV:Body>
api-1 | </SOAP-ENV:Envelope> Log trace: | I, [2024-08-24T03:59:58.057232 #1] INFO -- : SOAPFault: (SOAP-ENV:Server) Procedure 'setVendorQuoteStatusIn' not present ["/usr/local/bundle/gems/savon-2.15.1/lib/savon/response.rb:132:in `raise_soap_and_http_errors!'", "/usr/local/bundle/gems/savon-2.15.1/lib/savon/response.rb:20:in `initialize'", "/usr/local/bundle/gems/savon-2.15.1/lib/savon/operation.rb:76:in `new'", "/usr/local/bundle/gems/savon-2.15.1/lib/savon/operation.rb:76:in `create_response'", "/usr/local/bundle/gems/savon-2.15.1/lib/savon/operation.rb:65:in `call'", "/usr/local/bundle/gems/savon-2.15.1/lib/savon/client.rb:37:in `call'", "/app/app/models/psp.rb:70:in `set_vendor_quote_status'", "/app/app/models/health.rb:225:in `psp_connection'", "/app/app/models/health.rb:96:in `initialize'", "/app/app/models/health.rb:74:in `new'", "/app/app/models/health.rb:74:in `get'", "/app/app/controllers/utils_controller.rb:4:in `health'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/abstract_controller/base.rb:228:in `process_action'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_controller/metal/rendering.rb:30:in `process_action'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/abstract_controller/callbacks.rb:42:in `block in process_action'", "/usr/local/bundle/gems/activesupport-6.1.7.8/lib/active_support/callbacks.rb:98:in `run_callbacks'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/abstract_controller/callbacks.rb:41:in `process_action'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_controller/metal/rescue.rb:22:in `process_action'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'", "/usr/local/bundle/gems/activesupport-6.1.7.8/lib/active_support/notifications.rb:203:in `block in instrument'", "/usr/local/bundle/gems/activesupport-6.1.7.8/lib/active_support/notifications/instrumenter.rb:24:in `instrument'", "/usr/local/bundle/gems/activesupport-6.1.7.8/lib/active_support/notifications.rb:203:in `instrument'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_controller/metal/instrumentation.rb:33:in `process_action'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_controller/metal/params_wrapper.rb:249:in `process_action'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/abstract_controller/base.rb:165:in `process'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_controller/metal.rb:190:in `dispatch'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_controller/metal.rb:254:in `dispatch'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/routing/route_set.rb:50:in `dispatch'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/routing/route_set.rb:33:in `serve'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/journey/router.rb:50:in `block in serve'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/journey/router.rb:32:in `each'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/journey/router.rb:32:in `serve'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/routing/route_set.rb:842:in `call'", "/usr/local/bundle/gems/rack-2.2.9/lib/rack/session/abstract/id.rb:266:in `context'", "/usr/local/bundle/gems/rack-2.2.9/lib/rack/session/abstract/id.rb:260:in `call'", "/usr/local/bundle/gems/rack-2.2.9/lib/rack/etag.rb:27:in `call'", "/usr/local/bundle/gems/rack-2.2.9/lib/rack/conditional_get.rb:27:in `call'", "/usr/local/bundle/gems/rack-2.2.9/lib/rack/head.rb:12:in `call'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'", "/usr/local/bundle/gems/activesupport-6.1.7.8/lib/active_support/callbacks.rb:98:in `run_callbacks'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/middleware/callbacks.rb:26:in `call'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/middleware/executor.rb:14:in `call'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'", "/usr/local/bundle/gems/lograge-0.11.2/lib/lograge/rails_ext/rack/logger.rb:15:in `call_app'", "/usr/local/bundle/gems/railties-6.1.7.8/lib/rails/rack/logger.rb:28:in `call'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'", "/usr/local/bundle/gems/request_store-1.7.0/lib/request_store/middleware.rb:19:in `call'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/middleware/request_id.rb:26:in `call'", "/usr/local/bundle/gems/rack-2.2.9/lib/rack/runtime.rb:22:in `call'", "/usr/local/bundle/gems/activesupport-6.1.7.8/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/middleware/executor.rb:14:in `call'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/middleware/static.rb:24:in `call'", "/usr/local/bundle/gems/rack-2.2.9/lib/rack/sendfile.rb:110:in `call'", "/usr/local/bundle/gems/actionpack-6.1.7.8/lib/action_dispatch/middleware/host_authorization.rb:142:in `call'", "/usr/local/bundle/gems/railties-6.1.7.8/lib/rails/engine.rb:539:in `call'", "/usr/local/bundle/gems/puma-5.6.8/lib/puma/configuration.rb:252:in `call'", "/usr/local/bundle/gems/puma-5.6.8/lib/puma/request.rb:77:in `block in handle_request'", "/usr/local/bundle/gems/puma-5.6.8/lib/puma/thread_pool.rb:340:in `with_force_shutdown'", "/usr/local/bundle/gems/puma-5.6.8/lib/puma/request.rb:76:in `handle_request'", "/usr/local/bundle/gems/puma-5.6.8/lib/puma/server.rb:443:in `process_client'", "/usr/local/bundle/gems/puma-5.6.8/lib/puma/thread_pool.rb:147:in `block in spawn_thread'"]
|
I suspect its an issue with wasabi. mind checking if this fixes the issue?
|
Description
After upgrading Savon from version 2.12 to 2.15, I've started encountering a
SOAPFault
error when attempting to call theset_json_quote_pricing
operation, which exists in the WSDL. The error message is:Savon::SOAPFault: (SOAP-ENV:Server) Procedure 'setJSONQuotePricingIn' not present
It's important to note that the operation
set_json_quote_pricing
and the error message refer tosetJSONQuotePricingIn
, which appears to be related to the input message name in the WSDL, not the operation name itself.Steps to Reproduce
set_json_quote_pricing
operation with appropriate parameters as shown in the code sample below.SOAPFault
error is being raised with the mentioned error message.Code Sample
The text was updated successfully, but these errors were encountered: