首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在从V2升级的过程中,我们可以使用什么java api连接到jUDDI V3?

在从V2升级的过程中,我们可以使用什么java api连接到jUDDI V3?
EN

Stack Overflow用户
提问于 2010-01-30 06:19:22
回答 3查看 875关注 0票数 0

我们正在升级我们的一些系统,包括从V2升级到jUDDI V3。过去我们在java代码中使用uddi4j来访问UDDI服务器,但是uddi4j似乎没有继续使用V3。大量的Google时间让我觉得没有其他东西可以替代。真的是这样吗?如果有其他选择,你能推荐一个吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-30 08:27:47

据我所知,jUDDIv3提供了自己的UDDI客户端。

请参阅:http://www.redhat.com/docs/en-US/JBoss_SOA_Platform/5.0.0-Beta1/html/jUDDI_User_Guide/chap-Using_jUDDI-Client.html

我没有找到作为单独下载的lib,但它包含在juddi-portal-bundle中。

票数 1
EN

Stack Overflow用户

发布于 2014-01-06 11:27:11

是的,jUDDI有自己的UDDIv3客户端。

下面是maven的详细信息org.apache.juddi juddi client 3.1.5

在当前的源代码主干中有大量的示例,所有这些示例都将与未来的版本捆绑在一起。示例可以在这里找到:http://svn.apache.org/repos/asf/juddi/trunk/juddi-examples/

jUDDI用户指南也是一个很好的参考。

票数 0
EN

Stack Overflow用户

发布于 2014-03-13 02:56:10

我在3.0.4 juddi门户捆绑包中尝试了以下代码

代码语言:javascript
复制
/*
 * Copyright 2001-2010 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */


import org.apache.juddi.api_v3.Publisher;
import org.apache.juddi.api_v3.SavePublisher;
import org.apache.juddi.v3.client.ClassUtil;
import org.apache.juddi.v3.client.config.UDDIClientContainer;
import org.apache.juddi.v3.client.transport.Transport;
import org.apache.juddi.v3_service.JUDDIApiPortType;
import org.uddi.api_v3.AuthToken;
import org.uddi.api_v3.BusinessDetail;
import org.uddi.api_v3.BusinessEntity;
import org.uddi.api_v3.BusinessService;
import org.uddi.api_v3.GetAuthToken;
import org.uddi.api_v3.Name;
import org.uddi.api_v3.SaveBusiness;
import org.uddi.api_v3.SaveService;
import org.uddi.api_v3.ServiceDetail;
import org.uddi.v3_service.UDDIPublicationPortType;
import org.uddi.v3_service.UDDISecurityPortType;

public class SimplePublish {
    private static UDDISecurityPortType security = null;

    private static JUDDIApiPortType juddiApi = null;
    private static UDDIPublicationPortType publish = null;

    public SimplePublish() {
        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();
        }   
    }

    public void publish() {
        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("");

            // 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("");
            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("My Business");
            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();
            System.out.println("myBusiness key:  " + myBusKey);

            // Creating a service to save.  Only adding the minimum data: the parent business key retrieved from saving the business 
            // above and a single name.
            BusinessService myService = new BusinessService();
            myService.setBusinessKey(myBusKey);
            Name myServName = new Name();
            myServName.setValue("My Service");
            myService.getName().add(myServName);
            // Add binding templates, etc...

            // Adding the service to the "save" structure, using our publisher's authentication info and saving away.
            SaveService ss = new SaveService();
            ss.getBusinessService().add(myService);
            ss.setAuthInfo(myPubAuthToken.getAuthInfo());
            ServiceDetail sd = publish.saveService(ss);
            String myServKey = sd.getBusinessService().get(0).getServiceKey();
            System.out.println("myService key:  " + myServKey);

            // Now you have a publisher saved who in turn published a business and service via the jUDDI API!
        } 
        catch (Exception e) {
            e.printStackTrace();
        }
    }       

    public static void main (String args[]) {
        SimplePublish sp = new SimplePublish();
        sp.publish();   
    }
}

并使用下面的库

maven依赖性

代码语言:javascript
复制
<dependency>
        <groupId>org.apache.juddi</groupId>
        <artifactId>juddi-client</artifactId>
        <version>3.0.2</version>
      </dependency>

这个jar文件

axis2-adb-1.5.4.jar

就这样,我的代码运行得很好

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2165590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档