Everyone,
I know this has been sitting for a while, but I wanted to update everyone on
the issues we were having regarding the web services. As you may recall,
the web services would randomly (or so we thought) fail.
This is the general layout of the architecture:
DB Server >>>>> CF Server >>(SOAP)>> .Net App
I originally had the development and production services setup to be on
separate machines, but they forced us onto one system. So I setup the web
servers on the machine to point to different roots and had the structure
under the root named differently.
Dev root
Dev
Services
Objects
Prod root
Prod
Services
Objects
This yielded separate namespaces. The third party developer did not want to
re-code the .Net app when switching back and forth from dev to prod, so he
had me change the folder names to be identical so all he had to do was
change the address for the services (or port number in this case).
What we found was that when you used a method on dev it worked, for example,
setStyle(). And if you then used that same method on prod, it worked too.
However the dev method would then fail the next time it was called. I
think that AXIS(or some Java functions) were failing because of namespace
confusion or maybe something regarding memory allocation, etc.
So we setup a new VM and moved production services to that environment and
the issues were eliminated!
Thanks,
Bill
From: [email protected] [mailto:[email protected]] On Behalf Of Ajas Mohammed
Sent: Thursday, January 23, 2014 12:23 PM
To: [email protected]
Subject: Re: [ACFUG Discuss] Issues with SOAP Services
Bill,
No problem. Did you guys find anything?
<Ajas Mohammed />
iUseDropbox( <http://db.tt/63Lvone9> http://db.tt/63Lvone9)
http://ajashadi.blogspot.com
We cannot become what we need to be, remaining what we are.
No matter what, find a way. Because thats what winners do.
You can't improve what you don't measure.
Quality is never an accident; it is always the result of high intention,
sincere effort, intelligent direction and skillful execution; it represents
the wise choice of many alternatives.
On Fri, Jan 17, 2014 at 10:12 PM, Bill Beers <[email protected]>
wrote:
Ajas,
Thank you for the feedback and ideas. I think we are going to do some
investigation into the namespaces and other things I mentioned in my
response to Charlie. If things hit a dead end, I may hit you up on your
offer!
Thanks,
Bill
From: [email protected] [mailto:[email protected]] On Behalf Of Ajas Mohammed
Sent: Friday, January 17, 2014 5:00 PM
To: [email protected]
Subject: Re: [ACFUG Discuss] Issues with SOAP Services
Hi there, ( as I was about to hit send) I saw Charlies email. Go over that
as well. Charlie, the only thing I would say is, He moved to CF 9 yet He is
having same issues as far as I can tell from his email.
Here are my thoughts.
Web services in CF sometimes looks like a blessing and the very next minute
it looks like someone has cursed you for, not flashing your indicator lights
while changing lanes, not holding door for someone entering the room after
you. You get the idea. I agree sometimes the restart seems to jump start
everything fine, when you had done same things 1000 times before restart
with ONLY dreaded errors as a result.
The few things that come to my mind are, are you saving the SOAP requests. I
would like to compare the worked request vs the 500 error request, what is
different in the request, small things like that matter. Please do that. I
know it sounds silly but sometimes you never know. I would make a brave call
on the "No such operation 'setSkuStati'". I have seen that error when the
parameters dont match the actual webservice method.
I am willing to help. Is this something you can share or is it confidential.
Thanks,
<Ajas Mohammed />
iUseDropbox( <http://db.tt/63Lvone9> http://db.tt/63Lvone9)
http://ajashadi.blogspot.com
We cannot become what we need to be, remaining what we are.
No matter what, find a way. Because thats what winners do.
You can't improve what you don't measure.
Quality is never an accident; it is always the result of high intention,
sincere effort, intelligent direction and skillful execution; it represents
the wise choice of many alternatives.
On Fri, Jan 17, 2014 at 4:49 PM, Charlie Arehart <[email protected]>
wrote:
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: [email protected] [mailto:[email protected]] On Behalf Of Bill Beers
Sent: Friday, January 17, 2014 3:13 PM
To: [email protected]
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 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 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
-------------------------------------------------------------