cancel
Showing results for 
Search instead for 
Did you mean: 

Import sap package for NWDS

Former Member
0 Kudos

Hi Everyone,

Im trying to consume a web serviceclient in NWDS through a servlet.

I need to import the package <b>com.sap.engine.services.webservices.espbase.client.api.*;</b>( to give the HTTP proxy settings)

which is not available in the IDE.

Could you please help me out on the same.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Hristo,

I have done that in the actual code..the one pasted here is only for presentation..

ne wez..thanks again...pls do let me know in case u get to know ne thin more

Former Member
0 Kudos

Hi,

Sorry for late comeback.

Do you still face this issue?

Regards,

Hristo

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi Hristo,

The code u had given for the authenticator class did work...

thank u

but was a problem with the fire wall that could not enter the ES workplace service registry...was a problem with the landscape...but i did sorted it out.

Thanks again...glad u were aggo to know about it

Former Member
0 Kudos

Hi Hristo,

Thanks a lot for ur suggestion,im till getting the same exception ,The code is as follows:Would appreciate ur help again

@WebServiceRef(name="SalesOrder")SalesOrderByIDQueryResponseInService service;

public SalesOrderByIdResponse() {

super();

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

try {

// Get the port from the service instance

SalesOrderByIDQueryResponseIn port = service.getSalesOrderByIDQueryResponse_InSoapBinding();

//

Authenticator.setDefault(new Authenticator()

{

protected PasswordAuthentication getPasswordAuthentication() {

return new

PasswordAuthentication("username","password".toCharArray());

}

}

);

System.setProperty("proxyHost", "proxy1.wxyz.com");

System.setProperty("http.proxyHost", "proxy1.wxyz.com");

System.setProperty("proxyPort", "8080");

System.setProperty("http.proxyPort", "50104");

javax.xml.ws.BindingProvider bp = (javax.xml.ws.BindingProvider) port;

Map<String,Object> context = bp.getRequestContext();

context.put("javax.xml.ws.security.auth.username","s0004385249");

context.put("javax.xml.ws.security.auth.password","wipro123");

SalesOrderByIDQueryMessage_SyncType input = new SalesOrderByIDQueryMessage_SyncType();

SalesOrderSelectionByIDAnonymous selectionById = new SalesOrderSelectionByIDAnonymous();

input.setSalesOrderSelectionByID(selectionById);

SalesOrderIDType id = new SalesOrderIDType();

selectionById.setSalesOrderID(id);

id.setValue("9999");

// Call the service

SalesOrderByIDResponseMessage_SyncType output = port.salesOrderByIDQueryResponseIn(input);

SalesOrderAnonymous order = output.getSalesOrder();

// Evaluate and display the response

PrintWriter writer = response.getWriter();

writer.println("Details found for order " + id.getValue() + ":");

writer.println("<br>buyerID: " + order.getBuyerID().getValue());

writer.println("<br>date: " + order.getDate());

writer.println("<br>payerParty: " + order.getPayerParty().getFormattedName().getValue());

writer.println("<br>pricingTerms / currency: " + order.getPricingTerms().getCurrencyCode());

}

catch (Exception e)

{

throw new ServletException(e);

}

}

The prog gets deployed successfully but when i call the servlet,This is the error i get despite ur suggestion

"Application error occurred during the request procession."

Details: <b>Exception:</b>

javax.servlet.ServletException: javax.xml.ws.WebServiceException: HTTP Status-Code 407: Proxy Authentication Required

at testsoid.SalesOrderByIdResponse.doGet(SalesOrderByIdResponse.java:73)

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

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

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:59)

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:31)

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

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

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

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

at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:308)

at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:221)

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:137)

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

Caused by: javax.xml.ws.WebServiceException: HTTP Status-Code 407: Proxy Authentication Required

at com.sun.xml.ws.util.SOAPConnectionUtil.getSOAPMessage(SOAPConnectionUtil.java:81)

at com.sun.xml.ws.encoding.soap.client.SOAPXMLDecoder.toSOAPMessage(SOAPXMLDecoder.java:100)

at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:438)

at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.doSend(SOAPMessageDispatcher.java:258)

at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.send(SOAPMessageDispatcher.java:137)

at com.sun.xml.ws.encoding.soap.internal.DelegateBase.send(DelegateBase.java:84)

at com.sun.xml.ws.client.EndpointIFInvocationHandler.implementSEIMethod(EndpointIFInvocationHandler.java:172)

at com.sun.xml.ws.client.EndpointIFInvocationHandler.invoke(EndpointIFInvocationHandler.java:106)

at $Proxy342_10002.salesOrderByIDQueryResponseIn(Unknown Source)

at testsoid.SalesOrderByIdResponse.doGet(SalesOrderByIdResponse.java:61)

... 30 more

Caused by: HTTP Status-Code 407: Proxy Authentication Required

at com.sun.xml.ws.transport.http.client.HttpClientTransport.checkResponseCode(HttpClientTransport.java:305)

at com.sun.xml.ws.transport.http.client.HttpClientTransport.getHeaders(HttpClientTransport.java:158)

at com.sun.xml.ws.util.SOAPConnectionUtil.getSOAPMessage(SOAPConnectionUtil.java:57)

... 39 more

<BR><BR><b>Root cause:</b>

javax.xml.ws.WebServiceException: HTTP Status-Code 407: Proxy Authentication Required

at com.sun.xml.ws.util.SOAPConnectionUtil.getSOAPMessage(SOAPConnectionUtil.java:81)

at com.sun.xml.ws.encoding.soap.client.SOAPXMLDecoder.toSOAPMessage(SOAPXMLDecoder.java:100)

at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:438)

at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.doSend(SOAPMessageDispatcher.java:258)

at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.send(SOAPMessageDispatcher.java:137)

at com.sun.xml.ws.encoding.soap.internal.DelegateBase.send(DelegateBase.java:84)

at com.sun.xml.ws.client.EndpointIFInvocationHandler.implementSEIMethod(EndpointIFInvocationHandler.java:172)

at com.sun.xml.ws.client.EndpointIFInvocationHandler.invoke(EndpointIFInvocationHandler.java:106)

at $Proxy342_10002.salesOrderByIDQueryResponseIn(Unknown Source)

at testsoid.SalesOrderByIdResponse.doGet(SalesOrderByIdResponse.java:61)

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

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

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:59)

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:31)

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

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

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

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

at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:308)

at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:221)

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:137)

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

Caused by: HTTP Status-Code 407: Proxy Authentication Required

at com.sun.xml.ws.transport.http.client.HttpClientTransport.checkResponseCode(HttpClientTransport.java:305)

at com.sun.xml.ws.transport.http.client.HttpClientTransport.getHeaders(HttpClientTransport.java:158)

at com.sun.xml.ws.util.SOAPConnectionUtil.getSOAPMessage(SOAPConnectionUtil.java:57)

... 39 more

javax.xml.ws.WebServiceException: HTTP Status-Code 407: Proxy Authentication Required

at com.sun.xml.ws.util.SOAPConnectionUtil.getSOAPMessage(SOAPConnectionUtil.java:81)

at com.sun.xml.ws.encoding.soap.client.SOAPXMLDecoder.toSOAPMessage(SOAPXMLDecoder.java:100)

at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:438)

at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.doSend(SOAPMessageDispatcher.java:258)

at com.sun.xml.ws.protocol.soap.client.SOAPMessageDispatcher.send(SOAPMessageDispatcher.java:137)

at com.sun.xml.ws.encoding.soap.internal.DelegateBase.send(DelegateBase.java:84)

at com.sun.xml.ws.client.EndpointIFInvocationHandler.implementSEIMethod(EndpointIFInvocationHandler.java:172)

at com.sun.xml.ws.client.EndpointIFInvocationHandler.invoke(EndpointIFInvocationHandler.java:106)

at $Proxy342_10002.salesOrderByIDQueryResponseIn(Unknown Source)

at testsoid.SalesOrderByIdResponse.doGet(SalesOrderByIdResponse.java:61)

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

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

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:59)

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:31)

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

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

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

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

at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:308)

at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:221)

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:137)

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

Caused by: HTTP Status-Code 407: Proxy Authentication Required

at com.sun.xml.ws.transport.http.client.HttpClientTransport.checkResponseCode(HttpClientTransport.java:305)

at com.sun.xml.ws.transport.http.client.HttpClientTransport.getHeaders(HttpClientTransport.java:158)

at com.sun.xml.ws.util.SOAPConnectionUtil.getSOAPMessage(SOAPConnectionUtil.java:57)

... 39 more

Former Member
0 Kudos

Hi,

In the example code I gave you, the "username" & "password" needs to be replaced by the real user-name and passowrd.

Please take a look at the javadoc for Authenticator class for more details.

Regards,

Hristo

Former Member
0 Kudos

Hi Hristo,

I did the settings as u suggested,but again it throws up the error

Proxy Authentication required at the servlet..

ne idea how i can solve it??

Appreciate ur help

Former Member
0 Kudos

Hi,

It seems that your proxy requires authentication. In such a case the java.net.Authenticator needs to be used.

The usage pattern is something like:

Authenticator.setDefault(new Authenticator() {

protected PasswordAuthentication getPasswordAuthentication() {

return new

PasswordAuthentication("mydomain
username","password".toCharArray());

}});

Regards,

Hristo

Former Member
0 Kudos

Hi Mohd,

From the problem you describe I assume that you're using NetWeaver Developer Studio Composition Environement 7.1 SP1. In SP1 it's not possible to set the http proxy for a single web service client (stub). The documentation that you point to is relevent for the 7.1 SP3 release.

In SP1 http settings could be set on system level using the System properties. for example do something like:

System.setProperty("proxyHost", "proxy");

System.setProperty("http.proxyHost", "proxy");

System.setProperty("proxyPort", "8080");

System.setProperty("http.proxyPort", "8080");

I would recomend you to configure the proxy settings on engine via the NetWeaver Administrator. Using NetWeaver Administrator you could also configure other web service proxy (web service stub) properties like user/pass & others.

Regards,

Hristo