Bill, I'll suggest what could very well be the problem, and a fairly simple
solution: try rebuilding/reconfiguring the web server connector. I suspect
you (or whoever is responsible) may have applied CF10's "updates", but
missed the recommendation (and sometimes requirement) in the update notes to
do that reconfiguration.

I discuss this more (the hows/whys) in a blog entry:

http://www.carehart.org/blog/client/index.cfm/2013/9/13/why_you_must_update_
cf10_webserver_connector

And I point out that xml and web services processing is among the many
things that can seem "broken" in CF10 until you do:

http://www.carehart.org/blog/client/index.cfm/2013/11/8/still_more_reasons_t
o_update_your_CF10_webconnector

Let us know if that helps.

 

/charlie

 

From: ad...@acfug.org [mailto:ad...@acfug.org] On Behalf Of Bill Beers
Sent: Friday, January 17, 2014 3:13 PM
To: discussion@acfug.org
Subject: [ACFUG Discuss] Issues with SOAP Services 

 

Everyone,

 

I have been working on a SOAP Web services project for a couple of months
using CF10.  The logic in the methods is fine, but the services are
unstable.  I am going to walk down the path and show errors and explain what
we tried to do to address it.  Any advice or insight is appreciated.

 

Originally, this was the config:

CF10 using Axis 1 - all patches applied and connectors re-created

IIS 7

Windows Server 2008

SQL Server (on another machine)

 

1)      We experienced random errors that would resolve after we restarted
CF.

2)      We also had an issue with IIS blowing up the app pool if we sent a
large request (array of objects).  We installed Apache and it handled the
large request no problem.

 

So we tried to use AXIS2.  Same issue with random failures on services.

 

So, 

We rolled back to CF9

Using IIS

 

IIS did not blow up app pool on large requests.

 

We are still having random service issues though:

 

Problem:

For example, there is a method called setSkuStati

 

This accepts an array of objects that contain the following data:

<SkuID xsi:type="xsd:double"></SkuID>

               <prepOnline xsi:type="xsd:boolean"></prepOnline>

               <sellOnline xsi:type="xsd:boolean"></sellOnline>

               <skuUpdated xsi:type="xsd:boolean"></skuUpdated>

               <styleId xsi:type="xsd:double"></styleId>

               <timestamp xsi:type="xsd:dateTime"></timestamp>

 

Normally it returns the string "Worked"

 

Randomly this method will start failing.  I am testing with SoapUI and we
also have an external user calling the service via .Net application.  When
it fails, we get 500 errors and the response is this:

 

Here is the fault string:

No such operation 'setSkuStati'

 

Here is the detail from fusion reactor:

 

com.intergral.fusionreactor.j2ee.filter.FusionReactorResponseWrapper.setStat
us(FusionReactorResponseWrapper.java:158)
org.apache.axis.transport.http.AxisServlet.configureResponseFromAxisFault(Ax
isServlet.java:818)
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:716)
coldfusion.xml.rpc.CFCServlet.doAxisPost(CFCServlet.java:270)
coldfusion.filter.AxisFilter.invoke(AxisFilter.java:43)
coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:374)
coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
coldfusion.filter.PathFilter.invoke(PathFilter.java:94)
coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistence
Filter.java:28)
coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
coldfusion.xml.rpc.CFCServlet.invoke(CFCServlet.java:138)
coldfusion.xml.rpc.CFCServlet.doPost(CFCServlet.java:289)
javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:
327)
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletF
ilter.java:42)
coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
sun.reflect.GeneratedMethodAccessor113.invoke(null:???)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(Wra
ppedFilterChain.java:97)
com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doNext(F
usionReactorRequestHandler.java:472)
com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doHttpSe
rvletRequest(FusionReactorRequestHandler.java:312)
com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doFusion
Request(FusionReactorRequestHandler.java:192)
com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.handle(F
usionReactorRequestHandler.java:507)
com.intergral.fusionreactor.j2ee.filter.FusionReactorCoreFilter.doFilter(Fus
ionReactorCoreFilter.java:36)
sun.reflect.GeneratedMethodAccessor112.invoke(null:???)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(Wra
ppedFilterChain.java:79)
sun.reflect.GeneratedMethodAccessor111.invoke(null:???)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.intergral.fusionreactor.agent.filter.FusionReactorStaticFilter.doFilter(
FusionReactorStaticFilter.java:53)
com.intergral.fusionreactor.agent.pointcuts.NewFilterChainPointCut$1.invoke(
NewFilterChainPointCut.java:41)
jrun.servlet.FilterChain.doFilter(FilterChain.java:???)
jrun.servlet.FilterChain.service(FilterChain.java:101)
jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:
320)
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428
)
jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:26
6)
jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

 

Any ideas or suggestions will be welcomed before I pull out what little hair
I have.

 

Thanks,

Bill Beers


------------------------------------------------------------- 
To unsubscribe from this list, manage your profile @ 
http://www.acfug.org?fa=login.edituserform 

For more info, see http://www.acfug.org/mailinglists 
Archive @ http://www.mail-archive.com/discussion%40acfug.org/ 
List hosted by FusionLink <http://www.fusionlink.com>  
------------------------------------------------------------- 




-------------------------------------------------------------
To unsubscribe from this list, manage your profile @ 
http://www.acfug.org?fa=login.edituserform

For more info, see http://www.acfug.org/mailinglists
Archive @ http://www.mail-archive.com/discussion%40acfug.org/
List hosted by http://www.fusionlink.com
-------------------------------------------------------------

Reply via email to