Edgar,
Code doesn't "skip", unless there is an exception thrown, and only if
you have an exception the catch block is run. So you clearly have an
exception!
So you need to figure what kind off exception it is; printing the stack
trace would be a good start: add something like e.printStrackTrace() in
the catch block, the error message should tell you what's going wrong,
but if you can't figure it our just send us the output of the stack
trace; without that we cannot help you.
Good luck,
--Kurt
2. If you do not have an exception you are stepp
On 4/18/13 1:34 PM, Edgar Orduña wrote:
I have this error, but i dont understand why, because i have the
uddi.xml file in the META-INF and when I run the example on console I
dont have problem but when I run like a servlet I have the problem
2013/4/18 Edgar Orduña <[email protected] <mailto:[email protected]>>
I already know what is the problem, the problem is the try block
in the constructor, when i run the source code from servlet the
block of the constructor doesn't run the try block only the
catch block and this is the root cause of my problem, because the
variables are not initialized.
do you have any suggestion?
what do you think about this problem?
this is the block source code
public ServletPublish() {
try {
String clazz =
UDDIClientContainer.getUDDIClerkManager(null).
getClientConfig().getUDDINode("default").getProxyTransport();
Class<?> transportClass = ClassUtil.forName(clazz,
Transport.class);
if (transportClass!=null) {
Transport transport = (Transport) transportClass.
getConstructor(String.class).newInstance("default");
*security = transport.getUDDISecurityService();*
*juddiApi = transport.getJUDDIApiService();*
*publish = transport.getUDDIPublishService();*
}
}
catch (Exception e) {
e.printStackTrace();
}
}
*Thanks*
2013/4/16 Alex O'Ree <[email protected]
<mailto:[email protected]>>
Can you try putting e.printStackTrace() within the catch
block? or logging it somehow. Obviously there is an error
somewhere that's not being recorded. You can also try adding
some stub statements throughout the function, such as
out.write("1"); periodically until you narrow down which line
bombed.
or, remove the try/catch within the function and change the
function to 'throws Exception'
or attach the debugger and step through it.
You're probably missing the uddi.xml file within META-INF of
your source packages. It defines the location of the uddi
services, username, password, etc
On Apr 16, 2013 12:11 PM, "Edgar Orduña" <[email protected]
<mailto:[email protected]>> wrote:
the browser prints the part of "catch", it doesn´t print
the part of "try".
It prints "error":
catch (Exception e) {
*out.println("<div id=\"cuerpo2\">"*
* +"error"*
*+"<br>"+ nom +""*
*+"</div>");*
e.printStackTrace();
}
2013/4/16 Alex O'Ree <[email protected]
<mailto:[email protected]>>
what is printed to the browser?
On Mon, Apr 15, 2013 at 11:05 PM, Edgar Orduña
<[email protected] <mailto:[email protected]>> wrote:
> i have the jars and i dont have idea what happen,
this is the code of my
> example and when i run my example only the source
code from "catch" runs.
>
> Thanks
>
> import java.io.IOException;
> import java.io.PrintWriter;
> import javax.servlet.ServletException;
> import javax.servlet.http.HttpServlet;
> import javax.servlet.http.HttpServletRequest;
> import javax.servlet.http.HttpServletResponse;
> import org.uddi.api_v3.*;
> import org.apache.juddi.ClassUtil;
> import org.apache.juddi.api_v3.*;
> import
org.apache.juddi.v3.client.config.UDDIClientContainer;
> import org.apache.juddi.v3.client.i18n.EntityForLang;
> import org.apache.juddi.v3.client.transport.Transport;
> import org.uddi.v3_service.UDDISecurityPortType;
> import org.uddi.v3_service.UDDIPublicationPortType;
> import org.apache.juddi.v3_service.JUDDIApiPortType;
>
>
> public class ServletPublish extends HttpServlet {
>
> private static UDDISecurityPortType security = null;
> private static JUDDIApiPortType juddiApi = null;
> private static UDDIPublicationPortType publish =
null;
> String Name;
>
> public ServletPublish() {
> try {
> String clazz =
UDDIClientContainer.getUDDIClerkManager(null).
>
getClientConfig().getUDDINode("default").getProxyTransport();
> Class<?> transportClass = ClassUtil.forName(clazz,
> Transport.class);
> if (transportClass!=null) {
> Transport transport = (Transport) transportClass.
> getConstructor(String.class).newInstance("default");
>
> security = transport.getUDDISecurityService();
> juddiApi = transport.getJUDDIApiService();
> publish = transport.getUDDIPublishService();
> }
> } catch (Exception e) {
>
> e.printStackTrace();
> }
> }
>
> @Override
> protected void doGet(HttpServletRequest request,
HttpServletResponse
> response) throws ServletException, IOException
> {
>
> Name = request.getParameter("nombre");
> ServletPublish sp = new ServletPublish();
> sp.publish(Name, response);
>
>
> }
>
> @Override
> protected void doPost(HttpServletRequest
request, HttpServletResponse
> response) throws ServletException, IOException
> {
> // TODO Auto-generated method stub
> doGet(request,response);
>
>
> }
>
> public void publish(String nom,
HttpServletResponse response)throws
> ServletException, IOException {
> response.setContentType("text/html;charset=UTF-8");
> PrintWriter out = response.getWriter();
>
> try{
> // Setting up the values to get an
authentication token for the
> 'root' user ('root' user has admin privileges
> // and can save other publishers).
>
> GetAuthToken getAuthTokenRoot = new GetAuthToken();
> getAuthTokenRoot.setUserID("root");
> getAuthTokenRoot.setCred("root");
>
> // Making API call that retrieves
the authentication token
> for the 'root' user.
> AuthToken rootAuthToken =
> security.getAuthToken(getAuthTokenRoot);
> //System.out.println ("root AUTHTOKEN = " +
> rootAuthToken.getAuthInfo());
>
> // Creating a new publisher that we
will use to publish our
> entities to.
> Publisher p = new Publisher();
> p.setAuthorizedName("my-publisher");
> p.setPublisherName("My Publisher");
>
> // Adding the publisher to the
"save" structure, using the
> 'root' user authentication info and saving away.
> SavePublisher sp = new SavePublisher();
> sp.getPublisher().add(p);
> sp.setAuthInfo(rootAuthToken.getAuthInfo());
> juddiApi.savePublisher(sp);
>
> // Our publisher is now saved, so
now we want to retrieve
> its authentication token
> GetAuthToken getAuthTokenMyPub = new GetAuthToken();
> getAuthTokenMyPub.setUserID("my-publisher");
> getAuthTokenMyPub.setCred("root");
> AuthToken myPubAuthToken =
> security.getAuthToken(getAuthTokenMyPub);
> //System.out.println ("myPub AUTHTOKEN = " +
> myPubAuthToken.getAuthInfo());
>
> // Creating the parent business
entity that will contain our
> service.
> BusinessEntity myBusEntity = new BusinessEntity();
> Name myBusName = new Name();
> myBusName.setValue(nom);
> myBusEntity.getName().add(myBusName);
>
> // Adding the business entity to the
"save" structure, using
> our publisher's authentication info and saving away.
> SaveBusiness sb = new SaveBusiness();
> sb.getBusinessEntity().add(myBusEntity);
> sb.setAuthInfo(myPubAuthToken.getAuthInfo());
> BusinessDetail bd = publish.saveBusiness(sb);
> String myBusKey =
> bd.getBusinessEntity().get(0).getBusinessKey();
>
> out.println("<div id='cuerpo2'>);"
> +"<table>");
> out.println("<tr>"
> + "<td><b>root AUTHTOKEN:</b> " +
> rootAuthToken.getAuthInfo() + "</td></tr>");
> out.println("<tr><td><b>myPub AUTHTOKEN: </b>" +
> myPubAuthToken.getAuthInfo() + "</td></tr>");
> out.println("<tr>"
> + "<td><b>Name:</b> " + nom + "</td></tr>");
> out.println("<tr><td><b>BusinessKey: </b>" + myBusKey +
> "</td></tr>"
> + "</table>"
> +"</div>");
>
> }
> catch (Exception e) {
>
> out.println("<div id=\"cuerpo2\">"
> +"error"
> +"<br>"+ nom +""
> +"</div>");
>
>
> e.printStackTrace();
> }
> }
>
> }
>
>
> 2013/4/15 Alex O'Ree <[email protected]
<mailto:[email protected]>>
>>
>> No idea what the root cause is, but it sounds like
the code you're
>> stepping though, when compiled, does not match what
is in the servlet
>> container. Try to delete all temp/work folders and
clean, build and
>> redeploy. There's no reason why it wouldn't work as
a servlet, so long
>> as you have all the required jar's within the classpath
>>
>> On Mon, Apr 15, 2013 at 4:58 PM, Edgar Orduña
<[email protected] <mailto:[email protected]>> wrote:
>> > Hi
>> > I have a question, can i use the
SimplePublish.java example like a
>> > Servlet
>> > from Java?
>> > or the example runs only on console.
>> >
>> > I'm Trying to use the SimplePublish.java like a
servlet but in the
>> > example
>> > the source code from "try" doesn't run only the
source code from "catch"
>> > runs.
>> >
>> > Thanks
>
>