I'm sending messages in NServiceBus using both Send() and SendLocal(). For each of them I need to store some info in the headers. It appears that a message sends with SendLocal does not contain the headers (I can't reproduce it on my local dev environment but I can see it occurring in production with QueueExplorer). Could someone please confirm that headers are not sent with SendLocal() and suggest a workaround I can use or documentation I can read about that? thanks
Related
I have written an application, that successfully listens to a multicast-host 239.255.255.250:1900 and [FF02::C]:1900. I receive the desired NOTIFY and M-SEARCH messages using spring-integration-ip's MulticastSendingMessageHandler.
However: while I am able to send messages using the UnicastSendingMessageHandler, it does not seem like e.g. VLC will recognize my running server.
I went through the UPnP Device Architecture PDF back and forth and manually sent the 3+2+1 NOTIFY messages and also responded to M-SEARCH, but somehow I am not able to make e.g. VLC recognize my server.
I also see no access on my HTTP server (separate application on a different port, but properly linked in the LOCATION attribute of the NOTIFY and M-SEARCH-response messages). No attempts at all.
Do I need to send the data using MessageHeaders (headers) instead of payload? What's the pre-requisite for a possible media server to be listed? Sending the NOTIFY messages? Responding to M-SEARCH messages? More?
And what are the allowed devicetype and servicetype values? Or do they vary?
If anyone wants, I can add some code, but the listening part is working alright and messages are sent, just supposedly not understood by their receivers (sending using Unicast to the address, who sent the M-SEARCH message, but on port 1900).
Honestly: I am not sure how to even word my question(s). I tried reading through the RSSDP source code, but I still do not fully get it.
Any pointers are greatly welcomed.
we had a Mulesoft app that basically picks message from queue (ActiveMQ), then posts to target app via HTTP request to target's API.
Runtime: 4.3.0
HTTP Connector version: v1.3.2
Server: Windows, On-premise standalone
However, sometimes the message doesn't get sent successfully after picking from queue , and below message can be found in the log -
WARN 2021-07-10 01:24:46,080 [[masked-app].http.requester.requestConfig.02 SelectorRunner] [event: ] org.glassfish.grizzly.nio.transport.TCPNIOTransport: GRIZZLY0005: Can not set SO_KEEPALIVE to false
java.net.SocketException: Invalid argument: no further information
at sun.nio.ch.Net.setIntOption0(Native Method) ~[?:1.8.0_281]
The flow completed silently without any error after above message, hence no error handling happens.
I found this mentioning it is a known bug on Windows server and won’t affect the well behavior of the application, but the document is failing to set SO_KEEPALIVE to true rather than false.
Looks the message didn't get posted successfully as the target system team can't find corresponding incoming request in their log.
It is not acceptable as the message is critical and no one knows unless the target system realizes something is wrong... Not sure if the SO_KEEPALIVE is failing to be set to false is the root cause, could you please share some thoughts? Thanks a lot in advance.
The is probably unrelated to the warning you mentioned but there doesn't seem to be enough information to identify the actual root cause.
Having said that the version of the HTTP connector is old and it's missing almost 3 years of fixes. Updating the version to the last one should improve the reliability of the application.
I'm trying to read messages from ActiveMQ Artemis using JMeter. For that I use JMS Subscriber. For some reason I can't read messages, it gives me an 404 response code. I think that I'm making everything correct, but it doesn't works. Here is what have I done.
and here is the response.
my ActiveMQ looks like that:
The problem was in Destination field. I should have use dynamicQueues/GDE.Error instead of dynamicTopics/GDE.Error .
I'm having a weird issue with Apache CXF and large (375MB) MTOM attachments are empty.
Running it locally in Eclipse produces the desired results, but deploying it to our server just gives an empty attachment.
The server is written in .NET and doesn't support chunking. With Chunking enabled the client works, but when i disable cunking it fails.
Sadly i'm unable to debug on the server, so i'm restricted to trace logging.
I've tried every trick i've been able to google.
Disable schema validation (CXF-4551) (CXF-7758)
Manually copying the file to java.io.tmpdir before sending, to ensure it can be read.
Custom DataSource
Disable WS-Security
Disable logging interceptor
Nothing seems to make a difference.
Every run i just get something like the following
</soap:Body></soap:Envelope>
--uuid:40ef745b-ac3c-4013-bbe7-a9cc28880423
Content-Type: application/xml
Content-Transfer-Encoding: binary
Content-ID: <7611ca0a-22f8-4637-b4f7-a5dfe7f20b81-3#www.somewhere.dk>
Content-Disposition: attachment;name="32_2018-03-28_output.xml"
--uuid:40ef745b-ac3c-4013-bbe7-a9cc28880423
Trying with a smaller (2KB) file on the server works just fine. A 75MB file gets attached correctly, but results in a HTTP 400 from the receiver (which i suspect is because the file is not fully transferred)
Does anyone have any ideas as to what might be causing this ?
After much trial & error, i finally managed to "solve" this. I enabled schema validation, and the data now appears. This is the exact issue that both bugs in my original question claims to fix.
Client client = ClientProxy.getClient(port);
BindingProvider bp = ((BindingProvider) port);
bp.getRequestContext().put("schema-validation-enabled", "true");
I can't add a comment so I'm posting this as an answer.
Jimmy could you perhaps comment on the latest CXF issue and provide some more details? Which version of CXF, what kind of client you are using, real code samples ideally, client logs?
I am writing a Drupal 7 module which is listening for HTTP POST messages to be sent by a 3rd party remote application. For testing I am sending messages using the Firefox Poster extension.
If I POST the message, the following code fails to place any value in my local vars (I get 'undefined index'):
$transId = urldecode($_POST['c2s_transaction_id']);
However, if I send the message using GET, the vars get populated fine with the following code:
$transId = urldecode($_REQUEST['c2s_transaction_id']);
This is true on both my local WAMP setup and on a shared hosting package.
I have never worked with HTTP POST messages before and have no idea where the problem might be. Could it be Drupal, the web server, or my code? Can anyone suggest how I might resolve this?
Many thanks,
Polly
Drupal removes the $_POST/$_GET in the system, just use $_REQUEST instead.