Hi
Good news, my servlet is running perfectly, you were right Kurt when I
added the uddi.xml in the WEB-INF/classes/META-INF directory my servlet ran.
Thanks for your help


2013/4/18 Kurt T Stam <[email protected]>

>  Edgar, try adding the uddi.xml in the WEB-INF/classes/META-INF directory
>
>
> On 4/18/13 2:03 PM, Kurt T Stam wrote:
>
> 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]>
>
>>  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]>
>>
>>>  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]> 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]>
>>>>
>>>>> what is printed to the browser?
>>>>>
>>>>> On Mon, Apr 15, 2013 at 11:05 PM, Edgar Orduña <[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]>
>>>>> >>
>>>>> >> 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]>
>>>>> 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
>>>>> >
>>>>> >
>>>>>
>>>>
>>>>
>>
>
>
>

Reply via email to