I am trying to use the Neuron ESB Publisher to send a message to the Neuron. I keep getting the below error when I call "connect" on the publisher. I am not sure what would cause this.
Failed to connect to channel. The HttpGetEnabled property of ServiceMetadataBehavior is set to true and the HttpGetUrl property is a relative address, but there is no http base address. Either supply an http base address or set HttpGetUrl to an absolute address.
I have been looking through documentation samples but just not finding anything on using the esb.Publisher to connect and publish something to Neuron.
can you post more information, specifically the code that you're using to connect and the settings in the app.config for the client...specifically, the value for the boostrap address i.e.esbServiceAddress
that should be the address of the Neuron server you're trying to connect to...and the bootstrap service port of the solution that's loaded in the runtime. it should be the same as set in the zone settings of the solution.
the error would infer that you're trying to possibly connect to some web service address rather than the neuron runtime hosting the solution
Here are the config settings.
<add key="esbZone" value="Enterprise" />
<add key="esbServiceAddress" value="net.tcp://localhost:50000/" />
<add key="esbServiceIdentity" value="" />
Here is the code the creates the Publisher
private Publisher BuildPublisher(string subscriberIdentity)
var subscriberId = subscriberIdentity != string.Empty ? subscriberIdentity : ConfigurationManager.AppSettings["esbClientId"];
var zone = ConfigurationManager.AppSettings["esbzone"];
var serviceAddress = ConfigurationManager.AppSettings["esbServiceAddress"];
var serviceIdentity = ConfigurationManager.AppSettings["esbServiceIdentity"];
return new Publisher(new SubscriberConfiguration(subscriberId, zone, serviceAddress, serviceIdentity));
The code that errors out (last line)
using (Publisher publisher = this.BuildPublisher(subscriberIdentity))
PartyConnectExceptions exceptions = publisher.Connect();
For the end point I have tried net.tcp://localhost:50000/ and http://localhost:50000
Bootstrap port in my enterprise zone config is 50000
The other odd thing going on that may be part of this (maybe) is the message I am trying to send to Neuron is bound for a custom .Net adapter. However, when I look at the adapter registration it says the adapter could not be loaded and it is not in the dropdown, even though it is in the adapter folder.
Got the adapter to load but that did not change anything. If I change the subscriberId I get a different message that makes it sound like it can talk to Neuron just fine but still has issues (the subscriber ID is not setup to handle the message I am passing in).
Unknown exception occurred talking to the Configuration Service at net.tcp://localhost:50000/ESBConfigurationService/. The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://tempuri.org/:SignonAnonymousResult. The InnerException message was ''Element' 'thePipeline' from namespace 'http://schemas.datacontract.org/2004/07/Neuron.Esb.Administration' is not expected. Expecting element 'pipelineConditions'.'. Please see InnerException for more details.</faultstring>
Well I can get the stupid thing to connect now and i have been able to push through these issues. However, now when I call publisher.Send I get a timeout on the call!