SOAP Error The request failed with HTTP status 404: Not Found.

SOAP Error The request failed with HTTP status 404: Not Found.

  

Im getting this error when trying to consume third party SOAP


The request failed with HTTP status 404: Not Found.
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at ssConnectMaster.WRefCmService.WRefCmService.CreateDatabaseConnection(WOEnumLanguageType inWSlanguage, Boolean inWSlanguageSpecified, String inWSdatabaseName, Boolean inWSdatabaseNameSpecified, String inWSuserName, Boolean inWSuserNameSpecified, String inWSpassword, Boolean inWSpasswordSpecified, String& outWSCreateDatabaseConnectionResult)


Anyone out there ever had this on OutSystems and have found a solution?

Appreciate any suggestion.

Hi Johanes,


Check the Integration logs in Service Center to see what was the url that your SOAP integration called.

It's hard to help you more than that without any extra information. But the url should be either invalid or not accessible from your server.

Unless you changed the url in Service Center or using the methods to change it dynamically in runtime, the url is the same that is defined in the WSDL file that you used to import the service in Service Studio.


Regards,
João Rosado

Hi Joao, thanks for your solution.

Url is different, i have changed the url and solve the problem


Having another problem, attach is the picture.

Im trying to read method "ReadTicketValidity", it end up with reading another method "ReadServices".

There are more than 300 methods. Is it because to many methods?

How can i read SOAP package?


Regards

Johanes


Hi,


That error is a bit missleading, in the first acess to any method the .NET framework builds the complete client (for all the methods) and then reuses that client in all the calls. What is happening there is that it fails to build the client due to some problem related to ReadServices.

If you check the logs in ServiceCenter it will have more details (in the inner exceptions on the details) in the error logs.


Is this in the same service of the original post? Because these errors usually are consistent, so it should fail in any method.


Regards, 

João Rosado

Hi

This is same service with the original, but different error, this errors apply to many method but not all.

I suspect that Outsystems DataTypes is different than original.

Here is err detail to give you more idea, any suggestion and help would be appreciate.


[1] Method WRefCmService.ReadServices can not be reflected.
   at System.Web.Services.Protocols.SoapReflector.ReflectMethod(LogicalMethodInfo methodInfo, Boolean client, XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, String defaultNs)
   at System.Web.Services.Protocols.SoapClientType.GenerateXmlMappings(Type type, ArrayList soapMethodList, String serviceNamespace, Boolean serviceDefaultIsEncoded, ArrayList mappings)
   at System.Web.Services.Protocols.SoapClientType..ctor(Type type)
   at System.Web.Services.Protocols.SoapHttpClientProtocol..ctor()
   at ssConnectMaster.WRefCmService.WRefCmService..ctor()
   at ssConnectMaster.ExtendedActions.WebRefCmService_ReadTicketValidity(HeContext heContext, Boolean[] optionalValuesBitMask, String inWSticket, Boolean& outWSReadTicketValidityResult)
   at ssConnectMaster.Flows.FlowUIFlow1.ScrnWebScreen1.CommandAction1(HeContext heContext)

[2] There was an error reflecting 'outWSReadServicesResult'.
   at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(String elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, XmlMappingAccess access)
   at System.Web.Services.Protocols.SoapReflector.ImportMembersMapping(XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, Boolean serviceDefaultIsEncoded, Boolean rpc, SoapBindingUse use, SoapParameterStyle paramStyle, String elementName, String elementNamespace, Boolean nsIsDefault, XmlReflectionMember[] members, Boolean validate, Boolean openModel, String key, Boolean writeAccess)
   at System.Web.Services.Protocols.SoapReflector.ReflectMethod(LogicalMethodInfo methodInfo, Boolean client, XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, String defaultNs)

[3] There was an error reflecting type 'ssMaster.WORCServiceRecord'.
   at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel model, String ns, ImportContext context, String dataType, XmlAttributes a, Boolean repeats, Boolean openModel, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.CreateArrayElementsFromAttributes(ArrayMapping arrayMapping, XmlArrayItemAttributes attributes, Type arrayElementType, String arrayElementNs, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.ImportArrayLikeMapping(ArrayModel model, String ns, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.ImportAccessorMapping(MemberMapping accessor, FieldModel model, XmlAttributes a, String ns, Type choiceIdentifierType, Boolean rpc, Boolean openModel, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.ImportMemberMapping(XmlReflectionMember xmlReflectionMember, String ns, XmlReflectionMember[] xmlReflectionMembers, Boolean rpc, Boolean openModel, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, RecursionLimiter limiter)

[4] There was an error reflecting type 'ssMaster.WORCAttributeRecord'.
   at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel model, String ns, ImportContext context, String dataType, XmlAttributes a, Boolean repeats, Boolean openModel, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.IncludeType(Type type, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.IncludeTypes(ICustomAttributeProvider provider, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.InitializeStructMembers(StructMapping mapping, StructModel model, Boolean openModel, String typeName, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.ImportStructLikeMapping(StructModel model, String ns, Boolean openModel, XmlAttributes a, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.InitializeStructMembers(StructMapping mapping, StructModel model, Boolean openModel, String typeName, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.ImportStructLikeMapping(StructModel model, String ns, Boolean openModel, XmlAttributes a, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel model, String ns, ImportContext context, String dataType, XmlAttributes a, Boolean repeats, Boolean openModel, RecursionLimiter limiter)

[5] There was an error reflecting field 'varWSPredefinedValues'.
   at System.Xml.Serialization.XmlReflectionImporter.InitializeStructMembers(StructMapping mapping, StructModel model, Boolean openModel, String typeName, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.ImportStructLikeMapping(StructModel model, String ns, Boolean openModel, XmlAttributes a, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel model, String ns, ImportContext context, String dataType, XmlAttributes a, Boolean repeats, Boolean openModel, RecursionLimiter limiter)

[6] For non-array types, you may use the following attributes: XmlAttribute, XmlText, XmlElement, or XmlAnyElement.
   at System.Xml.Serialization.XmlReflectionImporter.ImportAccessorMapping(MemberMapping accessor, FieldModel model, XmlAttributes a, String ns, Type choiceIdentifierType, Boolean rpc, Boolean openModel, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.ImportFieldMapping(StructModel parent, FieldModel model, XmlAttributes a, String ns, RecursionLimiter limiter)
   at System.Xml.Serialization.XmlReflectionImporter.InitializeStructMembers(StructMapping mapping, StructModel model, Boolean openModel, String typeName, RecursionLimiter limiter) 


Regards

Johanes

From the error I can see that the error is related to a PredefinedValues in a structure called Attribute. Hard to say more without seeing the wsdl or what generated for it.


I recommend you to open a support ticket with it.

I can try to give it a look if you can upload the wsdl (or do a Submit Feedback from Service Studio including a oml that reproduces the problem), but it should not replace the notmal support channel. 


Regards,

João Rosado

Hi Joao,

Many thanks, will follow your suggestion.


Regards

Johanes