Skip to main content
1-Visitor
March 11, 2011
Question

PLM Windchill Java Based Web Services

  • March 11, 2011
  • 8 replies
  • 4228 views

HI friends, Anyone worked on PLM Webservices? Recently PTC had released WebServices Framework For M050. It would be great if everyone share their ideas/experiences on the web services in PLM.



This framework document has an example but that does not have a DataBase hit.


It would be interesting to know if DB hit can be done by using Java Based Web Services in Windchill.

8 replies

1-Visitor
March 11, 2011

Hello

I dont knowif the M050 framework can directly query (maybe modify) the database & this is not my area of expertise (who knows what is), but I have seen where some one used apache axis2 web services to run oracle stored procedures & maybe even run jdbc for query/modify the oracle db &/or both.

But I would really like to see how the M050 framework does in the db area &/or can be coaxed into doing so.

L Jett

1-Visitor
March 11, 2011
Hi All,

I am using BasicPagaeble query spec for querying EPM documents in database
which are in figure of laks(for e.g.300000).
But is is giving me error mentioned below

(wt.pom.pomResource/0) wt.pom.PersistenceException: A persistence error
occurred
. System message follows:
Nested exception is: (wt.pom.pomResource/21)
wt.pom.PagingFetchTimeOutException:

Paging fetch cannot be completed for this paging session (a background
process m
ay still be processing the paging session).
at
wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:164
4)
at
wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:106
😎
at
wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.ja
va:4426)
at
wt.fc.StandardPersistenceManager._find(StandardPersistenceManager.jav
a:4499)
at
wt.fc.StandardPersistenceManager.find(StandardPersistenceManager.java
:1550)

Same code if I execute on my local machine having 275 records, it works
fine. I am not getting How to resolve this error?



Thanks & Regards,
Manisha
1-Visitor
March 11, 2011
If you write your own servlet front end that uses Hibernate or JDBC and a
SOAP messaging front end to that servlet, a soap client or client api should
take care of the rest. That is basic J2EE principles. There is also no
reason this could not use the supported Windchill API either. See the older
documentation in info engine on servlets.you do not need to write webjects
in order to do what you want.


1-Visitor
March 11, 2011
Increase/adjust wt.query properties upwards in wt.properties.


1-Visitor
March 15, 2011
Hi Ragu

Are you talking about the example code in
<windchill_root>\prog_examples\jws\ that i just discovered in 9.1 M060
thanks to your post?
From a very quick first look it seems like it contains the same SOAP stack
that I thought would only be available from 10.0 and onwards.

I think this is good news because this would allow us to move to the new
web service implementation sooner rather than later and hopefully get rid
of some of the workarounds we have currently applied in our .NET SOAP
client code with 9.1 M020

Also when you say "PLM Webservices" do you mean the
1-Visitor
March 16, 2011
ya,

PFA for Web services Framework document.



Ragunathan P
Tata Consultancy Services
Mailto: ragunathan.p@tcs.com
Website:
1-Visitor
March 21, 2011

Hi friends,Want ur inputs for the below scenario :


Created a webservices and was able to retrieve data from DB successfully. But this works only when I ran the services as jar in Shell (command to run services in shell is specified in Webservices Frameworkdocument). When I try to invoke Windchill webServices by using the wsdl file generated, there is an exception in Tomcat:


javax.xml.ws.WebServiceException: java.lang.RuntimeException: Unauthenticated requests are not allowed. at com.sun.xml.wss.jaxws.impl.SecurityServerTube.processException(SecurityServerTube.java:381) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:593) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:557) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:542) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:439) at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243) at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:471) at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244) at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135) at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129) at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:160) at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:75) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at wt.httpgw.filter.WTContextBeanFilter.doFilter(WTContextBeanFilter.java:48) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at wt.httpgw.filter.TrustedAuthFilter.doFilter(TrustedAuthFilter.java:123) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at wt.servlet.CompressionFilter.doFilter(CompressionFilter.java:224) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at wt.servlet.RequestInterrupter.doFilter(RequestInterrupter.java:324) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at wt.servlet.ServletRequestMonitor.doFilter(ServletRequestMonitor.java:1417) at wt.servlet.ServletRequestMonitorFilter.doFilter(ServletRequestMonitorFilter.java:54) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.RuntimeException: Unauthenticated requests are not allowed. at com.ptc.jws.security.SecurityContext.handleMessage(SecurityContext.java:54) at com.ptc.jws.security.SecurityContext.handleMessage(SecurityContext.java:33) at com.sun.xml.ws.handler.HandlerProcessor.callHandleMessage(HandlerProcessor.java:292) at com.sun.xml.ws.handler.HandlerProcessor.callHandlersRequest(HandlerProcessor.java:135) at com.sun.xml.ws.handler.ServerLogicalHandlerTube.callHandlersOnRequest(ServerLogicalHandlerTube.java:142) at com.sun.xml.ws.handler.HandlerTube.processRequest(HandlerTube.java:116) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:598) ... 43 more

1-Visitor
May 7, 2014

Hi Friends,


When a webservice call is made from another system/application, what are the different authentication scenarios available in PLM web services ? Please do share the options and learnings !!