2011-12-20 2 views
0

У меня есть абонентский клиент, который подключается к https://pubsubhubbub.appspot.com/subscribe я поставил параметр нижеhttps://pubsubhubbub.appspot.com/subscribe нулевой ответ

https://pubsubhubbub.appspot.com/subscribe 
hub.topic http://...../lastupby 
hub.callback http://localhost:8080/Subscription/subscription/subscribe 
hub.mode subscribe 

, но я получил нулевой ответ я не могу понять, в чем проблема спасибо за вашу помощь

HttpPost httppost = new HttpPost(hub); 
       List<NameValuePair> nvps = new ArrayList<NameValuePair>(); 
       nvps.add(new BasicNameValuePair("hub.callback", callbackUrl)); 
       nvps.add(new BasicNameValuePair("hub.mode", "subscribe")); 
       nvps.add(new BasicNameValuePair("hub.topic", topic_url)); 
       nvps.add(new BasicNameValuePair("hub.verify", "sync")); 
       if (lease_seconds != null) 
        nvps.add(new BasicNameValuePair("hub.lease_seconds", lease_seconds)); 
       //For future https implementation 
       //if ((secret !=null) && (secret.getBytes("utf8").length < 200)) 
       // nvps.add(new BasicNameValuePair("hub.hub.secret", secret)); 
       if (verifytoken !=null) 
        nvps.add(new BasicNameValuePair("hub.verify_token", verifytoken)); 

       webserver.addAction("subscribe",topic_url, verifytoken); 

       httppost.setEntity(new UrlEncodedFormEntity(nvps)); 
       httppost.setHeader("Content-type", "application/x-www-form-urlencoded"); 
       httppost.setHeader("User-agent", "RSS pubsubhubbub 0.3"); 

       //create the thread and start it running 
       GetThread thread = new GetThread(httpClient, httppost); 
       thread.start(); 
       thread.join(); 

спасибо

+1

Какая ошибка/исключение вы получаете? –

+0

Я не получаю ошибку при попытке получить код ответа, такой как System.out.println ("thread.httpresponse" + thread.httpresponse.getStatusLine(). GetReasonPhrase()); он возвращает null ///, мы работаем за прокси, вызвано ли это ситуацией? я не уверен –

ответ

1

Первое, что вы должны проверить, является статус HTTP ответа, а затем проверить организм сам, а может включать в себя то, что вы делать неправильно.

Также, на основе вашего примера, я почти уверен, что проблема связана с вашим обратным адресом. Когда вы отправляете запрос на подписку на концентратор, концентратор должен проверить с вами, что вы хотите эту подписку. Затем он отправляет запрос на ваш URL-адрес обратного вызова (проверьте проверку раздела намерения в спецификации). Поскольку ваш обратный вызов действительно находится за брандмауэром, концентратор никогда не сможет его достичь.

+0

ОК, я проверю, но я не уверен, что брандмауэр вызывает это, после того, как запрос на подписку делает google-hub ping ответ и тему подписки? спасибо, возможно, URL подписки может быть неправильным –