Skip to content

注册服务报“缺少 serviceName 参数 #134

Description

@USMQ

系统 ubuntu 20 nacos-sdk-cpp 版本:1.0.8(C++ 版本)
nacos-server 版本:1.3.0(Java 版本)

修改 :examples/registerInstances.cpp
#include
#include <unistd.h>
#include "factory/NacosServiceFactory.h"
#include "ResourceGuard.h"
#include "naming/Instance.h"
#include "NacosString.h"
#include "Properties.h"
#include "constant/PropertyKeyConst.h"

using namespace std;
using namespace nacos;

int main() {
Properties configProps;
configProps[PropertyKeyConst::SERVER_ADDR] = "10.1.27.20:8848";
NacosServiceFactory *factory = new NacosServiceFactory(configProps);
ResourceGuard _guardFactory(factory);
NamingService *namingSvc = factory->CreateNamingService();
ResourceGuard _serviceFactory(namingSvc);
Instance instance;
instance.clusterName = "DefaultCluster";
instance.ip = "192.168.64.253";
instance.port = 8888;
instance.instanceId = "12345";
instance.ephemeral = true;

//Registers 5 services named TestNamingService-1...5
try {
    for (int i = 0; i < 5; i++) {
        NacosString serviceName = "TestNamingService-" + NacosStringOps::valueOf(i);
        instance.port = 1987 + i;
        std::cout << "IP:" << instance.ip << std::endl;
        std::cout << "Port: " << instance.port << std::endl;
        std::cout << "InstanceId: " << instance.instanceId << std::endl;
        std::cout << "Ephemeral: " << instance.ephemeral << std::endl;
        std::cout << "ServiceName: "<< serviceName << std::endl;
        std::cout << "clusterName: " << instance.clusterName << std::endl;
        std::cout << "Weight: "<< instance.weight << std::endl;
        namingSvc->registerInstance(serviceName, instance);
    }
}
catch (NacosException &e) {
    cout << "encounter exception while registering service instance, raison:" << e.what() << endl;
    return -1;
}
sleep(300);
try {
    for (int i = 0; i < 5; i++) {
        NacosString serviceName = "TestNamingService" + NacosStringOps::valueOf(i);

        namingSvc->deregisterInstance(serviceName, "192.168.64.253", 1987 + i);
        sleep(1);
    }
}
catch (NacosException &e) {
    cout << "encounter exception while registering service instance, raison:" << e.what() << endl;
    return -1;
}
sleep(30);

return 0;

}

运行过程及运行结果如下:
g++ registerInstances.cpp -L. -lnacos-cli -I/usr/local/include/nacossdkcpp -o registerInstances.out
./registerInstances.out

IP:192.168.64.253
Port: 1987
InstanceId: 12345
Ephemeral: 1
ServiceName: TestNamingService-0
clusterName: DefaultCluster
Weight: 1
encounter exception while registering service instance, raison:failed to req API:/nacos/v1/ns/instance after all servers(http://10.1.27.20:8848) tried: failed to req API:http://10.1.27.20:8848/nacos/v1/ns/instance code:400 errormsg:caused: Param 'serviceName' is required.;

本机只运行了一个nacos server,是否还需要其他服务作为配置中心?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions