cancel
Showing results for 
Search instead for 
Did you mean: 

HOw to consume/configure a third party web service from webDynpro

Former Member
0 Kudos

Hi

I have create a Adaptive webservice model .

1. selected the UDDI or URL option after decalring the model name and package.

2. Default metadata destination = ImgGen

3. Definig execution destination = Exec.

4. Entered the WSDL url AND GENERATED THE WEB SERVICES SUCCESSFULLY.( HTTP://(SERVERNAme):port/WSName/some.asmx?WSDL )

I HAVE DEFINED dYNAMIC PROXY USING vISUAL ADMIN.

Visual admin >> Web services security >> Runtime >> security configuration >> Webservice clients >> sap.com >> DynamicWSProxies >>

Gave destination Name same as default metadata and created one more for execution( step 2 aND 3) AND url =(HTTP://(SERVERNAme):port/WSName/some.asmx)

restarted thre server.

When I try to consume the webservices

I am getting the following error.

java.io.IOException: com.sap.engine.lib.xml.util.NestedException: Parser exception occurred:Fatal Error: com.sap.engine.lib.xml.parser.ParserException: Document is not well-formed: Start-tag 'p' is different from end-tag 'ul'(:main:, row:61, col:19) -> com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: Document is not well-formed: Start-tag 'p' is different from end-tag 'ul'(:main:, row:61, col:19)(:main:, row=61, col=19) -> com.sap.engine.lib.xml.parser.ParserException: Document is not well-formed: Start-tag 'p' is different from end-tag 'ul'(:main:, row:61, col:19)

com.sap.tc.webdynpro.model.webservice.exception.WSModelRuntimeException: Exception on creation of service metadata for WS metadata destination 'ImgGen' and WS interface 'WSImgGenerationSoap'. One possible reason is that the metadata destination 'ImgGen' has not been properly configured; check configuration.

at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getOrCreateWsrService(WSModelInfo.java:440)

at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.readOperationsFromWSDL(WSModelInfo.java:372)

at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.importMetadataInternal(WSModelInfo.java:342)

at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.importMetadata(WSModelInfo.java:326)

at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo$Cache.getModelInfo(WSModelInfo.java:199)

at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getModelInfoFromCacheOrCreate(WSModelInfo.java:1035)

at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getModelInfoFromCacheOrCreate(WSModelInfo.java:248)

at com.sap.tc.webdynpro.model.webservice.gci.WSTypedModel.<init>(WSTypedModel.java:41)

at com.pk.ws.model.ImgGen.<init>(ImgGen.java:59)

at com.pk.ws.WdImgGenWS.genImage(WdImgGenWS.java:208)

at com.pk.ws.wdp.InternalWdImgGenWS.genImage(InternalWdImgGenWS.java:288)

at com.pk.ws.WdImgGenWSView.onActionGenImage(WdImgGenWSView.java:143)

at com.pk.ws.wdp.InternalWdImgGenWSView.wdInvokeEventHandler(InternalWdImgGenWSView.java:156)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)

at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)

at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)

at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:321)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)

at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)

Caused by: java.io.IOException: com.sap.engine.lib.xml.util.NestedException: Parser exception occurred:Fatal Error: com.sap.engine.lib.xml.parser.ParserException: Document is not well-formed: Start-tag 'p' is different from end-tag 'ul'(:main:, row:61, col:19) -> com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: Document is not well-formed: Start-tag 'p' is different from end-tag 'ul'(:main:, row:61, col:19)(:main:, row=61, col=19) -> com.sap.engine.lib.xml.parser.ParserException: Document is not well-formed: Start-tag 'p' is different from end-tag 'ul'(:main:, row:61, col:19)

at com.sap.engine.services.webservices.espbase.query.WSDLReader.checkForException(WSDLReader.java:100)

at com.sap.engine.services.webservices.espbase.query.WSQueryImpl.initialize(WSQueryImpl.java:312)

at com.sap.engine.services.webservices.espbase.query.WSQueryImpl.findWSInterfaces(WSQueryImpl.java:151)

at com.sap.engine.services.webservices.server.management.discovery.ServiceDiscoveryImpl.getWSDLUrl(ServiceDiscoveryImpl.java:71)

at com.sap.engine.services.webservices.espbase.client.dynamic.GenericServiceFactory.createService(GenericServiceFactory.java:128)

at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getOrCreateWsrService(WSModelInfo.java:429)

... 41 more

Any hint or solution is highly appreciated.

thanks

pk

Edited by: Prashanth Kiran on Jul 22, 2009 10:11 PM

Edited by: Prashanth Kiran on Jul 22, 2009 10:14 PM

Accepted Solutions (1)

Accepted Solutions (1)

former_member197348
Active Contributor
0 Kudos

Hi PK,

What is your NWDS version?

Instead of using URL of the WSDL, try to use save the wsdl file in your local file system and see there are any format problems. Like any '-' mark is appended, any tag is not properly closed.

Finally check your destinations are properly configured. (If you use wsdl file then you don't require them)

Regards,

Siva

Former Member
0 Kudos

Thanks Siva,

My version

Version: 7.0.09

Build id: 200608262203

I need to push my webdynpro application into QA system. so third party webservices also move to it's own QA system.

Now Once I need to move my code to QA the webservice should point to third party webservice's QA system.

This is the reason I am defining them in the Visual admin.

This works fine when I use without using default destiation metadata and execution .

Since I need to move them to QA and at the same time webservice host is also moving to its QA server, I need to change the reference so that my webdynro model points to the QA server where the webservice is pointing.

Please note WebAS QA server where my webdynpro for java program is depoloyed and the WEbservice is hosted in a different server and is a non SAP webservice.

regards

PK

former_member197348
Active Contributor
0 Kudos

Hi PK,

I hope you have gone through this [document|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b2bc0932-0d01-0010-6d8e-cff1b2f22bc7] and [this|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f07de95b-d81c-2a10-3daf-96172e846d00]. If you face problem in accessing the URL of the web service, you can give URL of the WSIL in while creating the destinations.

e.g http://<WS server>:<port>/inspection.wsil

Hope this helps for you.

Regards,

Siva

Former Member
0 Kudos

Hi ,

Thanks Siva,

There was some issue in the configuration file.

An addtional chars was prestn in the URL .

After removing that . it resolved the problem.

thanks for your time and help.

regards

PK

Former Member
0 Kudos

Good Info.

Edited by: Faraz S on Nov 8, 2009 3:09 AM

Answers (2)

Answers (2)

ravindra_bollapalli2
Active Contributor
0 Kudos

hi kiran,

in addition to the above post by siva

here the one example of how to build the thirdparty webservice to nwds 7.0

/people/martin.raepple/blog/2007/11/09/ws-security-interoperability-with-microsoft-wcf-follow-up-on-teched-07-session-sim211

let me know u need any further info

bvr

Former Member
0 Kudos

Hi,

Please note I am not building a webserbvice. I want to consume a webservice which is hosted in a different service.

I am able to consume the webservice, I have no issue in consuming the web services, only HOw to configure the destinations. It seems my error says check the configuration.

Please let me know how to configure the destination.

I have modified the webservice security in VA by defining a new Dynamic proxy pointing to QA server's Webservice URL.

Still I am getting check the configuration.

Please let knw how to come over with this configuration issue.

regards

pk

Former Member
0 Kudos